本實驗在生產環境中如今已經用不到了,由於已經有更高級的自動化安裝軟件來取代了本次實驗,因此只是爲了能從低層更瞭解Linux的安裝,從而作了本次實驗,加深與理解當前所學的知識。html
先看一下拓撲圖吧!node
簡單的解釋一下拓撲圖,先在服務器端開啓http服務,在http默認目錄下建立兩個目錄分別是ks、x86_64,並把光盤鏡像掛載至/var/www/html/x86_64目錄下,把已經制做好的ks.cfg文件複製至/var/www/html/ks目錄中;在服務器端製做isolinux用於引導啓動客戶端(其實就是把光盤鏡像中的isolinux目錄給抽取出來,並從新用命令生成一個iso的文件)。在客戶端在掛載isolinux,經過局域網進行安裝CentOS 6.6 x86_64.linux
(1) 首先製做ks.cfg文件shell
在CentOS 6安裝完成後會在/root下生成一個anaconda-ks.cfg文件,這個是由CentOS 6安裝程序anaconda根據你在系統安裝過程當中全部的鍵盤類型、語言、時區、分區、程序包的選擇而生成的一個文件。vim
若是咱們要製做一個anaconda-ks.cfg文件,能夠參考這個文件在些基礎上進行修改,可使用system-config-kickstart程序生成相關的文件。bash
安裝system-config-kickstart程序服務器
[root@node-2 ~]# yum install -ysystem-config-kickstart
啓動system-config-kickstart程序網絡
使用xshell 4遠程鏈接終端啓動system-config-kickstart,建議安裝XmanagerEnterprise 4軟件,這樣能夠在本地終端中打開Linux系統中的軟件。在命令行中輸入system-config-kickstart命令便可。app
修改完以後在File菜單中選擇Save保存,在最上面輸入ks.cfg名字,選擇保存位置,點擊Save按鈕便可。tcp
查看剛剛生成的文件並進行添加一些內容,由於有些命令是須要手動添加的,相關的請參考REHL官方的資料。
[root@node-2 ~]# cat /var/www/html/ks/ks.cfg #platform=x86, AMD64, or IntelEM64T #version=DEVEL # Firewall configuration firewall --disabled #安裝後重啓初始化系統時選擇關防火牆 # Install OS instead of upgrade install #安裝類型選擇爲安裝 # Use network installation url --url="http://172.16.9.21/x86_64/" #經過網絡安裝,使用的Http服務 repo --name="CentOS"--baseurl=http://172.16.9.21/x86_64/ --cost=100 #repo --name="FedoraEPEL" --baseurl=http://172.16.0.1/fedora-epel/6/x86_64/ --cost=1000 # Root password rootpw --iscrypted $1$jLn8z9P1$ff07gV9CfXmz1Q0NEOmAw/ #管理員root的密碼,使用加密存放 # System authorizationinformation auth --useshadow --passalgo=sha512 #認證方法,使用的sha512的加密方式 # Use graphical install graphical #使用圖形界面進行安裝 firstboot --disable # System keyboard keyboard us #選擇的鍵盤類型爲us # System language lang en_US #語言爲英文 # SELinux configuration selinux --disabled #關閉selinux # Do not configure the X WindowSystem skipx #忽略X Window System的配置 # Installation logging level logging --level=info #啓動的日誌級別 # Reboot after installation reboot #安裝完以後重啓系統 # System timezone timezone Asia/Shanghai #系統時區爲亞洲/上海 # Network information #network --bootproto=dhcp --device=eth0 --onboot=on # System bootloaderconfiguration #表示傳遞能內核的參數 bootloader--append="crashkernel=auto crashkernel=auto rhgb quiet"--location=mbr --driveorder="sda" # Partition clearinginformation clearpart --all #如下都是對磁盤進行分區操做的,這裏使用的LVM zerombr #磁盤沒有分區,對磁盤進行分區 part /boot --fstype=ext4--size=200 part pv.008002 --size=61440 volgroup vg0 --pesize=8192pv.008002 logvol / --fstype=ext4--name=root --vgname=vg0 --size=20480 logvol swap --name=swap--vgname=vg0 --size=2048 logvol /usr --fstype=ext4--name=usr --vgname=vg0 --size=10240 logvol /var --fstype=ext4--name=var --vgname=vg0 --size=20480 %post #安裝完以後須要執行的腳本 %end #腳本結束符 %packages #在安裝過程當中須要安裝的程序包及程序包組 @base @basic-desktop @chinese-support @client-mgmt-tools @core @desktop-platform @fonts @general-desktop @graphical-admin-tools @legacy-x @network-file-system-client @perl-runtime @remote-desktop-clients @x11 -ibus-table-cangjie -ibus-table-erbi -ibus-table-wubi %end #程序包及程序包組結束符
(2) 安裝http服務與啓動
[root@node-2 ~]# yum installhttpd -y #安裝httpd服務 [root@node-2 ~]# service httpdstart #啓動http服務 Starting httpd: [ OK ] [root@node-2 ~]# netstat-ntlp|grep 80 #查看啓動狀態,http的端口爲tcp的80端口 tcp 0 0 :::80 :::* LISTEN 2008/httpd
(3) 掛載光盤鏡像
把光盤鏡像放入光驅,若是使用的是虛擬機把光盤文件添加至虛擬機的光驅,並選擇啓用。
[root@node-2 ~]# mkdir /var/www/html/{ks,x86_64} #建立ks,x86_64目錄 [root@node-2 ~]# mount -r/dev/dvd /var/www/html/x86_64/ #以只讀方式掛載光盤鏡像至/var/www/html/x86_64/ [root@node-2 ~]# mount|tail -1 #查看掛載狀況 /dev/sr0 on/var/www/html/x86_64 type iso9660 (ro)
(4) 複製ks.cfg文件至/var/www/html/ks目錄下
[root@node-2 ~]# cp/root/ks.cfg /var/www/html/ks/ [root@node-2 ~]# ls/var/www/html/ks/ ks.cfg
(5)製做isolinux啓動引導
在/tmp/建立一個cdrom目錄,把光盤鏡像中isolinux複製到/tmp/cdrom目錄中,並使用mkisofs命令生成iso文件。
[root@node-2 ~]# cd /tmp/ #切換着/tmp目錄 [root@node-2 tmp]# cp -r/var/www/html/x86_64/isolinux/ /tmp/cdrom/ #複製isolinux到/tmp/cdrom目錄 [root@node-2 tmp]# ls cdrom/ #查看複製結果 isolinux [root@node-2 tmp]# mkisofs -R-J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "Centos6.6 X86_64 boot disk" -b isolinux/isolinux.bin -c isolinux/boot.cat -o/root/boot.iso cdrom/ #製做boot.iso文件 [root@node-2 tmp]# ll/root/boot.iso #查看iso文件製做狀況 -rw-r--r-- 1 root root 39866368Apr 17 13:39 /root/boot.iso
(6)把製做好的boot.iso文件下載到本地的電腦下,可能經過Xshell 4自帶的Xftp進行拖動把boot.iso放至於桌面上。
(7)新建一個虛擬機,磁盤空間大小爲120G,把boot.iso加載至虛擬機光驅中,選擇「啓動時鏈接」,打開剛纔新建的虛擬機,按F2進入BIOS,移動至Boot選項修改第一啓動項爲CD-ROM Driver,按F10保存並退出,將會重啓虛擬機。
(8)在出現CentOS安裝選擇界面時,以下圖所示。
此時按ESC鍵,由於咱們只有一個引導啓動,並無安裝程序所須要的程序包,咱們想經過手動指定ks.cfg文件和利用http服務實現遠程的安裝CentOS 6 x86_64。
將進入boot的命令提示符,輸入linux ip=172.16.9.34 netmask=255.255.0.0 gateway=172.16.0.1ks=http://172.16.9.21:80/ks/ks.cfg,輸入完成後回車,開始加載isolinux中微內核vmlinux和initrd.img文件,開始CentOS的自動安裝。
提示:
在boot的命令行提示符中輸入的linux表示使用圖形化安裝CentOS,須要有大於512M的內存;
ip、netmask、gateway是用於指定本地網卡的IP地址、掩碼、網關的,
ks表示用於指定ks.cfg文件所在位置,可使用http,ftp,nfs,https,DVD Driver,使用的不一樣服務後面接的地址可能會有所不一樣的:
DVD drive ks=cdrom:/path/to/kickstart_file
HTTP Server ks=http://server_ip:port/path/to/kickstart_file
HTTPS Server ks=https://server_ip:port/path/to/kickstart_file
FTP Server ks=ftp://server_ip:port/path/to/kickstart_file
NFS Server ks=nfs:server_ip:/path/to/kickstart_file
安裝Centos進階:
經過上面的安裝你發現咱們每次都要指定IP址址,子網掩碼,網關及ks.cfg文件的路徑,咱們能不能把ks.cfg文件製做進isolinux引導啓動中,假設所在的網絡環境中已經有一個DHCP服務器能讓其主機自動獲取IP地址,這樣咱們只須要把isolinux製做的光盤放進光驅中,而後就是等待等待,Centos 6 x86_64已經安裝完了。簡單的畫一個圖:
咱們只須要在上面的基礎上加以修改就能實現的,作以下修改;
(1)把ks.cfg文件複製至/tmp/cdrom/目錄下
[root@node-2 tmp]# cp/var/www/html/ks/ks.cfg /tmp/cdrom/ks.cfg [root@node-2 tmp]# ls/tmp/cdrom/ isolinux ks.cfg
(2)修改ks.cfg文件中開啓網卡的DHCP服務,讓其能自動獲取IP地址添加如下一行:
# Network information network --bootproto=dhcp --device=eth0 --onboot=on #在上面的ks.cfg文件中把前面的「#」取消便可;
(3)切換至/tmp/cdrom/isolinux/目錄,對isolinux.cfg文件進行修改
[root@node-2 ~]# cd/tmp/cdrom/isolinux/ #切換至/tmp/cdrom/isolinux/目錄
[root@node-2 isolinux]#chmod u+w * #對全部的文件添加修改的權限
[root@node-2 isolinux]# vimisolinux.cfg #編譯isolinux.cfg文件,在append後面加上ks=cdrom:/ks.cfg
label linux
menu label ^Install or upgrade an existingsystem
menu default
kernel vmlinuz
append initrd=initrd.img ks=cdrom:/ks.cfg
(4)從新制做isolinux引導鏡像
[root@node-2 isolinux]# cd /tmp #切換至/tmp目錄 [root@node-2 tmp]# mkisofs -R-J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "Centos6.6 X86_64 boot disk" -b isolinux/isolinux.bin -c isolinux/boot.cat -o/root/boot.iso cdrom/
(5)把/root/boot.iso下載至本地桌面上,重啓用於安裝系統的虛擬機,選擇「Install or upgrade an existing system」標籤,進行自動化的安裝CentOS6.6 x86_64.
提示:還能夠把ks.cfg文件在製做isolinux引導啓動鏡像時指定爲http服務中的ks/ks.cfg文件,你還能夠把ks.cfg文件直接作到發行版的光盤中,根據你的需求來實現自動化的安裝。
小結:
此實驗在生產環境中已經沒有使用,只是爲了理解CentOS的安裝流程,從而經過本身手動製做isolinux來引導啓動,經過http服務來提供CentOS安裝鏡像及ks.cfg文件,從而實現一個半自動化的安裝CentOS系統,爲之後的更好的理解全自動化安裝CentOS,作下前期的安裝流程熟悉。
請大聲的對本身說一句:
當你以爲前途迷茫、沒有方向時,能夠選擇踏踏實實作好眼下