茫茫網海中的冷日 - 對這文章發表回應
茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1675465 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_214714.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

對這文章發表回應

發表限制: 非會員 可以發表

發表者: 冷日 發表時間: 2010/6/10 3:18:01
全自動安裝linux操作系統

一:過程思路:(建議先跳過文字按照安裝步驟邊安裝邊看思路)
1:客戶端網卡在主機啟動初始化時通過網卡內置的PXE芯片啟動DHCP進程向server獲取ip地址,網卡獲取到ip地址後,server會提供給client一個下載bootloader的指令,就是dhcp服務器中dhcpd.conf配置文件中filename這個選項。
2:網卡PXE芯片中已經包含了tftp client程序,獲取到ip地址後,網卡會啟動tftp服務去向tftp server請求傳輸這個bootloader文件PXElinux.0。當Bootloader加載後我們可以看到主機屏幕上有信息顯示,而這個畫面就是我們在用光驅裝linux的時候看到的第一個畫面。畫面提示選擇圖形界面安裝還是linux text字符界面安裝等信息。如果在server端的tftpboot目錄下只有這個文件,那麼客戶機會一直停留在boot這個地方,因為沒有default這個bootloader配置文件告訴機器下一步加載哪個系統內核,default配置文件的作用是告訴主機從哪裡去加載操作系統內核,這個時候如果我們按照正常光碟裝機時會看到提示:輸入回車或者linux text等信息。Bootloader會去調用default配置文件中的操作系統內核文件。
3:default 文件配置好之後,接著就是指定內核文件,這個在default文件最後。就是vmlinuz,initrd.img *.msg 這幾個文件。
4:到這一步加載成功後,系統就按照我們平常光碟裝系統看到的過程一模一樣了,選擇語言,鼠標,鍵盤等,但因為有了KS這個自動安裝腳步,這些都不要我們手工去指定,全部會自動完成。
5:到這裡為止,也許有人會問,那我們從哪裡去加載安裝的鏡像。且慢,不是有個ks安裝腳本嗎,就是這個腳本裡面我們可以指定安裝鏡像在哪裡。
6:現在就考慮系統鏡像的傳輸,這裡我們選用linux特有的NFS網絡文件系統進行鏡像的傳輸。當然也可以用HTTP,ftp等方式。但為什麼我們直接使用tftp呢,因為這個協議在傳輸大文件的時候效率非常低。 二:具體安裝過程:

說明:server IP:192.168.9.20 linux版本:centos 5.2

1:安裝tftp 服務器 和dhcp服務器:
[root@centos CentOS]# rpm -qa |grep tftp
             tftp-server-0.42-3.1.el5.centos
[root@centos CentOS]# rpm -qa |grep dhcp
             dhcpv6-client-1.0.10-4.el5
             dhcp-3.0.5-13.el5

目的是確保客戶端能夠正常獲取到ip地址和pxelinux.0文件。

2:修改tftp參數:
[root@centos CentOS]# vi /etc/xinetd.d/tftp
……………………………………………………………………………………
          service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /tftpboot
        disable                 = yes             / 改成no /
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
…………………………………………………………………………………………

/tftpboot 這個參數主要是指定tftp client 客戶端從服務器的哪個目錄去加載bootloader的pxelinux.0文件。

3:啟動tftp:
[root@centos CentOS]# service xinetd restart
               Stopping xinetd:                            [FAILED]
               Starting xinetd:                             [  OK  ]


4:安裝dhcpd服務並配置啟動:
[root@centos ~]# vi /etc/dhcpd.conf
        ddns-update-style interim;
        ignore client-updates;
   boot bootp;
   subnet 192.168.9.0 netmask 255.255.255.0
 {                                            /分配給client端的ip地址/
        option routers                  192.168.9.1;
        option subnet-mask              255.255.255.0;
        option domain-name             "domain.org";
        option domain-name-servers     202.96.128.66;
        option time-offset              -18000;
        range dynamic-bootp 192.168.99.2 192.168.9.100;
        filename "/pxelinux.0";     /用來指定tftp根目錄的啟動文件實際是在/tftpboot目錄下。/
        default-lease-time 21600;
        max-lease-time 43200;
        next-server 192.168.9.20;   /這一句是告訴client從哪裡加載bootloade/r
}


5: 創建文件夾並拷貝pxelinux.0至/tftpboot目錄:
mkdir /tftpboot
cp /usr/lib/syslinux/pxelinux.0 /tftpboot    /pxelinux.0server已經有/
midir /tftpboot/pxelinux.cfg
touch /tftpboot/pxelinux.cfg/default


default內容可以修改成如下:
…………………………………………………………………………
        default autoinstall        /缺省引導autoinstall 這個label/
        prompt 1
        timeout 30               /缺省自動加載的時間30s/
      ………………………………
        label  autoinstall
        kernel vmlinuz                  /內核文件名字/
        append ks=nfs:192.168.9.20:/tftpboot/ks
        initrd=initrd.img devfs=nomount ramdisk_size=16384 nofb
……………………………………………………………………………………

append 這個選項是指定從哪個地方去讀取這個配置文件,用什麼方式加載。這裡使用nfs方式獲取KS這個文件,當然也可以用FTP、HTTP等方式。ks 文件,也就是linux自動加載安裝中各項參數,平常我們用光盤安裝的時候需要選擇相應的語言,字體,鍵盤,鼠標,分區,安裝的軟件包等待信息,KS文件就是讓這些選擇自動化進行。

6:ks 文件內容如下:可以根據自己實際環境進行更改。
…………………………………………………………………………
lang en_US
langsupport zh_CN en_US --default=en_US
keyboard us
mouse
timezone Asia/Shanghai
rootpw password                      /新裝系統的root密碼/
reboot
#upgrade
install
#harddrive --partition=sdb1 --dir=rhas
nfs --server=192.168.9.20 --dir=/media/cdrom     /指定鏡像的位置/
text
bootloader --location=mbr
zerombr yes
clearpart --drives hda –initlabe            /硬盤名字,根據實際環境更改/
part / --fstype ext3 --size 3072 --asprimary --ondisk had
part swap --size 256 --asprimary --ondisk hda
part /tmp --fstype ext2 --size 256 --ondisk hda
part /home --fstype ext3 --size 1 --grow --ondisk hda
auth  --useshadow  --enablemd5
#network --bootproto=dhcp --device=eth0
network --device=eth0 --bootproto=static --
ip=192.168.9.210  --netmask=255.255.255.0 --
gateway=192.168.9.244 --nameserver=202.96.128.68 --
hostname=test.com                  /指定新裝系統的主機名和ip/
firewall --disabled
skipx
%packages –resolvedeps        /指定新裝系統所需的包/
@ development-tools
@ admin-tools
@ system-tools
………………………………………………………………………………

Kickstart 具體內容的研究可以參考redhat官方網站,根據實際環境修改KS的內容以適合自己的要求。

7: NFS服務器的創建:

a:先確認NFS文件系統在服務器端已經安裝好。
[root@centos ~]# rpm -qa |grep nfs
nfs-utils-lib-1.0.8-7.2.z2
nfs-utils-1.0.9-33.el5


b:修改nfs參數文件
[root@centos ~]# vi /etc/exports
………………………………………………………………
/media/cdrom      *(ro,sync)
…………………………………………………………………

這個的配置很簡單:/media/cdrom 將服務器上這個目錄共享出去,這個目錄中就是安裝光盤中的內容。
*(ro,sync) *指定所有的用戶(ro,sync)具有只讀權限,並且數據同步寫入硬盤。

c:啟動nfs服務:
root@centos ~]# service portmap start
[root@centos ~]# service nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]

[root@centos ~]# exportfs        /確認nfs共享正常/
/media/cdrom    <world>
……………………………………………………


8:client機器手動加電後,這是唯一需要手動的地方,呵呵,連接上網線與server在同一個網段,享受自動安裝幾十幾百台linux主機的過程吧。


原文出處:全自动安装linux操作系统 -xxlinux.com打造开源专业站点
內容圖示
url email imgsrc image code quote
樣本
bold italic underline linethrough   












 [詳情...]
validation picture

注意事項:
預覽不需輸入認證碼,僅真正發送文章時才會檢查驗證碼。
認證碼有效期10分鐘,若輸入資料超過10分鐘,請您備份內容後,重新整理本頁並貼回您的內容,再輸入驗證碼送出。

選項

Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|