第七部分其它運維知識
第四十四章 批量無人值守安裝CentOS
一、概述
無論是光驅引導安裝,還是NFS、HTTP、FTP服務進行網絡安裝,都需要一個前提:需要安裝引導介質(光盤、U盤等)。而自動化批量部署,是通過網絡,無需介質,無人值守全自動化安裝Linux操作系統。提升工作效率,減少消耗時間和人力成功,並有多種方式實現。本例以PXE+DHCP+NFS+Kickstart方式實現。一般在上千臺服務器以內,可以將DHCP、NFS、Kickstart、TFTP放在一臺服務器上。
1、什麼是PXE
PXE(Pre-boot Execution Environment,預啓動執行環境)是由Intel公司開發的最新技術,工作於Client/Server的網絡模式,支持工作站通過網絡從遠端服務器下載映像,並由此支持通過網絡啓動操作系統,在啓動過程中,終端要求服務器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transferprotocol)協議下載一個啓動軟件包到本機內存中執行,由這個啓動軟件包完成終端基本軟件設置,從而引導預先安裝在服務器中的終端操作系統。
嚴格來說,PXE 並不是一種安裝方式,而是一種引導方式。進行 PXE 安裝的必要條件是在要安裝的計算機中必須包含一個 PXE 支持的網卡(NIC),即網卡中必須要有 PXE Client。PXE 協議可以使計算機通過網絡啓動。此協議分爲 Client端和Server 端,而PXE Client則在網卡的 ROM 中。當計算機引導時,BIOS 把 PXE Client 調入內存中執行,然後由 PXE Client 將放置在遠端的文件通過網絡下載到本地運行。運行 PXE 協議需要設置 DHCP 服務器和 TFTP 服務器。DHCP 服務器會給 PXE Client(將要安裝系統的主機)分配一個 IP 地址,由於是給 PXE Client 分配 IP 地址,所以在配置 DHCP 服務器時需要增加相應的 PXE 設置。此外,在 PXE Client 的 ROM 中,已經存在了 TFTP Client,那麼它就可以通過 TFTP 協議到 TFTP Server 上下載所需的文件了。
2、什麼是Kickstart
Kickstart是一種無人值守的安裝方式。它的工作原理是在安裝過程中記錄典型的需要人工干預填寫的各種參數,並生成一個名爲ks.cfg的文件。如果在安裝過程中(不只侷限於生成Kickstart安裝文件的機器)出現要填寫參數的情況,安裝程序首先會去查找Kickstart生成的文件,如果找到合適的參數,就採用所找到的參數;如果沒有找到合適的參數,便需要安裝者手工干預了。所以,如果Kickstart文件涵蓋了安裝過程中可能出現的所有需要填寫的參數,那麼安裝者完全可以只告訴安裝程序從何處取ks.cfg文件,然後就去忙自己的事情。等安裝完畢,安裝程序會根據ks.cfg中的設置重啓系統,並結束安裝。
3、PXE的工作過程
(1)PXE Client 從自己的PXE網卡啓動,向本網絡中的DHCP服務器索取IP;
(2)DHCP 服務器返回分配給客戶機的IP 以及PXE文件的放置位置(該文件一般是放在一臺TFTP服務器上) ;
(3)PXE Client 向本網絡中的TFTP服務器索取pxelinux.0 文件;
(4)PXE Client 取得pxelinux.0 文件後之執行該文件;
(5)根據pxelinux.0 的執行結果,通過TFTP服務器加載內核和文件系統 ;
(6)進入安裝畫面, 此時可以通過選擇HTTP、FTP、NFS 方式之一進行安裝;
4、PXE的工作流程圖
5、PXE+Kickstart無人值守安裝操作系統完整過程
二、安裝實戰
1、演示環境
Host | OS | role | remask |
192.168.1.225 | CentOS6.5_32 | DHCP服務器 | 爲客戶端自動配置IP |
192.168.1.225 | CentOS6.5_32 | TFTP服務器 | 爲客戶端提供PXE引導文件 |
192.168.1.225 | CentOS6.5_32 | NFS服務器 | 存放Linux安裝文件和應答文件 |
192.168.1.226 | CentOS6.5_32 | 客戶端服務器 | 測試自動安裝 |
2、配置PXE網絡安裝的說明及步驟
(1)配置NFS服務器(服務端)
(2)配置TFTP服務器(服務端)
(3)配置DHCP服務器(服務端)
(4)配置Kickstart(服務端)
(5)使用PXE功能引導客戶機(客戶端)
3、創建共享目錄(存放Linux的ISO中的所有內容)
(1)創建共享目錄
mkdir /data/sys -p
(2)掛載光盤ISO
mount /dev/cdrom /mnt
(3)拷貝ISO中所有內容到/data/sys目錄下
cp -a /mnt/* /data/sys/
(4)創建應答文件目錄
mkdir -p /data/sys/kickstart
4、安裝NFS服務
(1)查看NFS是否已安裝(前期已安裝)
rpm -qa | grep nfs
nfs4-acl-tools-0.3.3-6.el6.i686
nfs-utils-1.2.3-39.el6.i686
nfs-utils-lib-1.1.5-6.el6.i686
sblim-cmpi-nfsv4-1.1.0-1.el6.i686
sblim-cmpi-nfsv3-1.1.1-1.el6.i686
(2)配置NFS
echo "/data/sys 192.168.0.0/16(ro,sync)" >>/etc/exports
cat /etc/exports
/data/sys 192.168.0.0/16(ro,sync)
(3)重啓NFS服務
/etc/init.d/rpcbind restart
Stopping rpcbind: [ OK ]
Starting rpcbind: [ OK ]
/etc/init.d/nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS mountd: [ OK ]
Starting NFS daemon: [ OK ]
Starting RPC idmapd: [ OK ]
(4)配置NFS服務開機啓動
chkconfig nfs on
chkconfig rpcbind on
chkconfig --list rpcbind
rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off
chkconfig --list nfs
nfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off
(5)檢查NFS共享服務是否正常(在服務端和客戶端均測試通過)
showmount -e 192.168.1.225
Export list for 192.168.1.225:
/data/sys 192.168.0.0/16
5、安裝TFTP服務
(1)安裝TFTP
yum install tftp-server* -y
rpm -qa | grep tftp
tftp-server-0.49-7.el6.i686
tftp-0.49-7.el6.i686
rpm -qa | grep xinetd
xinetd-2.3.14-39.el6_4.i686
(2)配置TFTP服務(TFTP服務由xinetd管理,修改/etc/xinetd.d/tftp文件)
vi /etc/xinetd.d/tftp
修改前:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server =/usr/sbin/in.tftpd
server_args = -s/var/lib/tftpboot
disable = yes
per_source = 11
cps = 100 2
flags = IPv4
}
修改後:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server =/usr/sbin/in.tftpd
server_args = -s/var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
(3)/etc/xinetd.d/tftp文件說明
server_args= -s /var/lib/tftpboot:這是默認的tftp路徑,啓動文件要放在這裏,當客戶端連接tftp服務端後,就會從該目錄下載啓動文件
(4)重啓TFTP服務(因爲tftp服務是掛載在超級進程xinetd 下的,所以通過啓動xinetd 來啓動tftp服務)
/etc/init.d/xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
(5)配置TFTP服務開機啓動
chkconfig xinetd on
chkconfig --list xinetd
xinetd 0:off 1:off 2:on 3:on 4:on 5:on 6:of
6、配置PXE引導和網絡啓動內核文件
(1)複製pxelinux.0 文件至/var/lib/tftpboot/文件夾中
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
ll /var/lib/tftpboot/
-rw-r--r-- 1 root root 26828 Jul 14 14:26 pxelinux.0
說明:syslinux是一個功能強大的引導加載程序,而且兼容各種介質。更加確切地說:SYSLINUX是一個小型的Linux操作系統,它的目的是簡化首次安裝Linux的時間,並建立修護或其它特殊用途的啓動盤。
(2)複製iso 鏡像中的/image/pxeboot/initrd.img和vmlinux 至/var/lib/tftpboot/ 文件夾中
cp /data/sys/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/
(3)複製iso 鏡像中的/isolinux/*.msg至/var/lib/tftpboot/文件夾中
cp /data/sys/isolinux/*.msg /var/lib/tftpboot/
(4)在/var/lib/tftpboot/ 中新建一個pxelinux.cfg目錄
mkdir /var/lib/tftpboot/pxelinux.cfg
(5)將iso 鏡像中的/isolinux 目錄中的isolinux.cfg複製到pxelinux.cfg目錄中改名爲default
cp /data/sys/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
(6)查看default文件
cat /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32
#prompt 1
timeout 600
display boot.msg
menu background splash.jpg
menu title Welcome to CentOS 6.5!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label linux
menu label ^Install orupgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img
label vesa
menu label Install systemwith ^basic video driver
kernel vmlinuz
append initrd=initrd.imgxdriver=vesa nomodeset
label rescue
menu label ^Rescue installedsystem
kernel vmlinuz
append initrd=initrd.imgrescue
label local
menu label Boot from ^localdrive
localboot 0xffff
label memtest86
menu label ^Memory test
kernel memtest
append -
(7)修改default文件
vi /var/lib/tftpboot/pxelinux.cfg/default
default ks
prompt 1
timeout 600
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
kernelvmlinuz
appendinitrd=initrd.img
label text
kernelvmlinuz
appendinitrd=initrd.img text
label ks
kernelvmlinuz
appendks=nfs:192.168.1.225:/data/sys/kickstart/ks.cfg initrd=initrd.img text
label local
localboot 1
label memtest86
kernelmemtest
append -
7、安裝DHCP服務
(1)安裝DHCP
yum install dhcp* -y
rpm -qa | grep dhcp
sblim-cmpi-dhcp-1.0-1.el6.i686
dhcp-common-4.1.1-38.P1.el6.centos.i686
dhcp-4.1.1-38.P1.el6.centos.i686
(2)配置DHCP
vi /etc/dhcp/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
filename "pxelinux.0";
next-server 192.168.10.168;
subnet 192.168.10.0 netmask 255.255.255.0 {
optionrouters 192.168.10.168;
optionsubnet-mask 255.255.255.0;
rangedynamic-bootp 192.168.10.200 192.168.10.210;
default-lease-time 21600;
max-lease-time 43200;
}
(3)重啓DHCP服務
/etc/init.d/dhcpd restart
Starting dhcpd: [ OK ]
(4)配置DHCP服務開機啓動
chkconfig dhcpd on
chkconfig --list dhcpd
dhcpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
8、生成ks.cfg文件(本例採用方法二)
(1)方法一:通過Kickstart軟件生成
a、安裝Kickstart
yum install system-config-kickstart
b、圖形界面下配置Kickstart,生成ks.cfg應答文件,保存在/data/sys/kickstart目錄下
system-config-kickstart
(2)方法二:通過修改/root/anaconda-ks.cfg文件生成
a、複製生成ks.cfg文件
cp /root/anaconda-ks.cfg /data/sys/kickstart/ks.cfg
b、修改ks.cfg文件權限(原anaconda-ks.cfg的權限爲 600)
ll /data/sys/kickstart/
-rw------- 1 root root 2500 Jul 15 20:48 ks.cfg
chmod 644 /data/sys/kickstart/ks.cfg
ll /data/sys/kickstart/
-rw-r--r-- 1 root root 2500 Jul 15 20:48 ks.cfg
vi /data/sys/kickstart/ks.cfg
# Kickstart file automatically generated byanaconda.
#version=DEVEL
install
nfs --server=192.168.10.168 --dir=/data/sys
lang en_US.UTF-8
keyboard us
network --onboot no --device eth0 --bootproto dhcp--noipv6 --hostname vm01
rootpw --iscrypted $6$jdFlCE66gYgSD47H$HAlaC4FApIg1fM9bnjt7T8hyCm/.WgmKWGG9MXdPVK5Abr6dtpaftd6Stwc/9Lo/HV8Skv221DuNm4CdJkAeP1
firewall --disabled
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda--append="crashkernel=auto rhgb quiet"
# The following is the partition information yourequested
# Note that any partitions you deleted are notexpressed
# here so unless you clear all partitions first,this is
# not guaranteed to work
#clearpart --linux --drives=sda
clearpart --all
part /boot --fstype=ext4 --size=200
part swap --size=2048
part / --fstype=ext4 --grow --size=200
%packages
@base
@core
@basic-desktop
@x11
c、說明
clearpart --all--initlabel 此條命令必須添加,不然系統會讓用戶手動選擇是否清除所有數據,這就需要人爲干預了,從而導致自動化過程失敗。
(3)方法三:通過下載網上文件修改後生成
9、客戶端安裝
(1)新建虛擬機
自動化安裝系統配置完畢,下面啓動一臺新的機器進行測試,網絡連接模式選擇NAT模式。
新建虛擬機,選擇自定義(高級)
選擇“稍後安裝操作系統”
選擇客戶機操作系統類型
啓動虛擬機,選擇從網卡啓動,DHCP 服務器正在給客戶機分配IP地址。(由於是新虛機,沒有任何其它啓動選項,就會按啓動順序,自動從網卡啓動)
(2)安裝過程中遇到的錯誤
a、錯誤代碼
PXE-E11 ARP timeout
PXE-E12 could not locate boot Server
PXE-E32:TFTP open timeout
b、原因
客戶機找不到下載映象的服務器,無法從TFTP下載鏡像。根本原因是由於在安裝時,服務器和客戶機網絡都是選擇提僅主機模式,不能互通。
c、處理
將網絡改爲NAT模式,同時將dhcpd.conf、ks.cfg和exports文件中相應的IP全部改過來,否則會出現DHCP錯誤或找不到NFS文件的錯誤。
三、相關配置文件詳解
1、/etc/xinetd.d/tftp文件
(1)樣例
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server =/usr/sbin/in.tftpd
server_args = -s/var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
(2)參數說明
server:服務程序路徑
server_args:服務程序參數(這裏指可以訪問的tftpd服務器下的目錄)
disable:是否開機啓動
2、/var/lib/tftpboot/pxelinux.cfg/default文件
# 默認啓動的是 'labellinux' 中標記的內核
default linux
# 顯示 'boot: ' 提示符。
# 爲 '0' 時則不提示,將會直接啓動 'default' 參數中指定的內容。
prompt 1
# 在用戶輸入之前的超時時間,單位爲1/10 秒。
timeout 600
# 顯示某個文件的內容,注意文件的路徑。默認是在 /tftpboot 目錄下。
# 也可以指定位類似'install/rhel4.4-inst/boot.msg' 這樣的,路徑+文件名。
display boot.msg
# 按下 'F1' 這樣的鍵後顯示的文件。注意路徑。默認是 /tftpboot。
# 注:syslinux 官方網站上說目前只能使用 F1-F10。
F1 install/rhel4.4-inst/boot.msg
F2 install/rhel4.4-inst/options.msg
#...
F10 install/rhel4.4-inst/snake.msg
# 'label' 指定你在'boot:' 提示符下輸入的關鍵字。
# 比如:
# boot: linux[ENTER]
# 這個會啓動 'labellinux' 下標記的 kernel 和 initrd.img 文件。
# 這裏還定義了其它幾個關鍵字:
# boot: text
# boot: ks
#
# kernel 參數指定要啓動的內核。同樣要注意路徑,默認是 /tftpboot 目錄。
# append 指定追加給內核的參數,能夠在 gurb 裏使用的追加給內核的參數,在這裏也
# 都可以使用。
label linux
kernelinstall/rhel4.4-inst/vmlinuz
appendinitrd=install/rhel4.4-inst/initrd.img ramdisk_size=8192
label text
kernel vmlinuz
appendinitrd=install/rhel4.4-inst/initrd.img text ramdisk_size=8192
label expert
kernel vmlinuz
append expertinitrd=install/rhel4.4-inst/initrd.img ramdisk_size=8192
# 使用 kickstart 安裝。
# 可以在 ks 參數後直接指定 kickstart 文件的位置。
# 關於 kickstart 的更多參數和設置,請參考各版本的 RHEL 的 Installation Guide:
# * http://www.redhat.com/docs/manuals/enterprise/
# Installation Guide--> Advanced Installation and Deployment
label ks basic
kernelinstall/rhel4.4-inst/vmlinuz
appendks=ftp://192.168.10.251/install/rhel4.4_basic.cfginitrd=install/rhel4.4-inst/initrd.img ramdisk_size=8192
label lowres
kernel vmlinuz
appendinitrd=install/rhel4.4-inst/initrd.img lowres ramdisk_size=8192
label local
localboot 1
label memtest86
kernel memtest
append -
3、/etc/dhcp/dhcpd.conf文件
ddns-update-style interim:動態DNS的更新方式
ignore client-updates:
allow booting:定義能夠PXE啓動
allow bootp:定義支持bootp
next-server 192.168.175.133:tftp 服務器ip地址
filename "pxelinux.0":pxe啓動文件位置
subnet 192.168.175.0 netmask 255.255.255.0 {
option routers 192.168.175.2:默認網關
option subnet-mask 255.255.255.0:子網掩碼
range dynamic-bootp 192.168.175.10 192.168.175.254:地址池範圍
default-lease-time 21600;
max-lease-time 43200;
4、/data/sys/kickstart/ks.cfg文件
每個項目都由關鍵字來識別;關鍵字可跟一個或多個參數;如果某選項後面跟隨了一個等號(=),它後面就必須指定一個值。
install (可選)
明確指定系統次次進行的是全新安裝系統;是默認項;
cdrom (可選)
以本地CD-ROM爲源安裝系統;
harddrive (可選)
以硬盤分區中包含的鏡像爲源(安裝樹)安裝新系統;當以該種方式安裝系統時,即使指定clearpart--all項,源所在分區也不會被重新抹去;
--partition= 指定分區
--dir= 指定包含鏡像的目錄
例:
harddrive --partition=/dev/sdb2 --dir=/data/iso
nfs (可選)
指定從NFS服務器上獲取安裝樹;
--server= 指定NFS服務器,主機名稱或IP
--dir= 包含安裝樹的目錄
--opts= 可以指定掛載NFS的目錄時的掛載選項
例:
nfs --server=192.168.1.254 --dir=/data/iso
url (可選)
指定通過FTP或HTTP從網絡獲取安裝樹;
--url 指定資源位置
例:
url --url ftp://<username>:<password>@install.example.com/iso
url --url http://install.example.com/iso
bootloader (必需)
設定boot loader安裝選項;
--append= 可以指定內核參數
--driveorder= 設定設備BIOS中的開機設備啓動順序
--location= 設定引導記錄的位置; mbr:默認值;partition:將boot loader安裝於包含kernel的分區超級快中;none:不安裝boot loder。
示例:
bootloader --location=mbr --append=“rhgb quiet” --driveorder=sda,sdb
clearpart (可選)
在建立新分區前清空系統上原有的分區表,默認不刪除分區;
--all 擦除系統上原有所有分區;
--drives 刪除指定驅動器上的分區
--initlabel 初始化磁盤卷標爲系統架構的默認卷標
--linux 擦除所有的linux分區
--none(default)不移除任何分區
例:
clearpart --drives=hda,hdb --all --initlabel
zerombr (可選)
清除mbr信息,會同時清空系統用原有分區表
drivedisk (可選)
如果使用特殊存儲方式時,需要指定驅動程序盤位置以便加載存儲驅動;
1. 將驅動盤拷貝到本地硬盤某分區根目錄:
drivedisk<partition> [ --type=<fstype> ]
2. 也可以指定一個網絡位置加載驅動程序盤
drivedisk --source=ftp://path/to/drive.img
drivedisk --source=http://path/to/drive.img
drivedisk --source=nfs:host://path/to/drive.img
firewall (可選)
配置系統防火牆選項;
firewall–enable|--disable [ --trust ]<device> [ --port= ]
--enable 拒絕外部發起的任何主動連接;
--disable 不配置任何iptables防禦規則;
--trust 指定完全信任網卡設備;
--port 使用port:protocol格式指定可以通過防火牆的服務;
示例:
firewall --enable --trusteth0 --trust eth1 --port=80:tcp
selinux (可選)
設置系統selinux狀態;默認爲啓用並處於enforcing模式;
selinux [--disabled|–enforcing|--premissive ]
reboot (可選)
在系統成功安裝完成後默認自動重啓系統(kickstart方法時);在收到你敢裝系統完成後,會提示按任意鍵進行重啓;
在本文件中沒有明確指明其他方法時就默認完成方式爲reboot;
使用 reboot 選項可能會導致安裝的死循環,這依賴於安裝介質和方法。需要特別注意;
halt (可選)
在系統成功安裝完成後關機;默認爲reboot;
其他選項還有shutdown、poweroff,需要使用請自行參考官方文檔。
graphical (可選)
默認值,在圖形模式下進行kickstart方式安裝;
text (可選)
以文本方式進行kickstart安裝;默認爲圖形界面
key (可選)
設置一個安裝碼(installration number),用於獲取RedHat官方的支持服務;
--skip 跳過key設置,不進行設置;如果不設置可能跳轉到交互模式讓用戶選取動作;
keyboard (必需)
設置鍵盤類型;一般設置爲us;
lang (必需)
設置安裝過程使用的語言及系統的缺省語言;文本模式安裝時可能不支持某些語言(中、韓...),所以可能仍以默認的英文方式安裝;默認en_us,裝中文時,需要後期%packages部分裝上中文支持組件;
例:
lang en_US
timezone (可選)
設置系統的時區;
timezone [ --utc ] <timezone>
例:
timezone --utc Asia/Shanghai
auth/authconfig (必需)
設置系統的認證方式;默認爲加密但不隱藏(shadow);
--enablemd5 使用MD5加密方式
--useshadow或—enableshadow 使用隱藏密碼;
--enablenis= 使用NIS認證方式
--nisdomain= NIS域
--nisserver= NIS服務器
還可以設置LDAP、SMB及Kerberos 5認證方式,詳細請參考官方文檔;
例:
authconfig --useshadow --enablemd5
rootpw (必需)
設置系統root賬號的密碼;
rootpw [ --iscrypted] <passwd>
--iscrypted 表示設置的密碼爲加密過的串;
例:
rootpw pa4word
rootpw --iscrypted $1$RPYyxobb$/LtxMNLJC7euEARg2Vu2s1
network (可選)
配置網絡信息;在網絡安裝(NFS/HTTP/FTP)時必須指定;
--bootproto=dhcp|bootp|static 指定ip獲取方式,默認爲dhcp/bootp;
--device= 設置安裝時激活來進行系統安裝的網卡設備;該參數只在kickstart文件爲本地文件時有效;若kickstart配置文件在網絡上,安裝程序會先初始化網卡然後去尋找kickstart文件;
--ip= ip設置
--gateway= 網關
--nameserver= DNS設置
--nodns 不設置DNS
--netmask= 掩碼
--hostname= 設置安裝後主機名稱
--onboot= 設置是否在系統啓動時激活網卡
--class= 設置DHCP的class值
--noipv4 禁用該設備的ipv4功能
--noipv6 禁用該設備的ipv6功能
如將網絡模式設置爲靜態模式,則必須在一行內寫上ip,netmask、dns、gateway等信息;
例:
network –bootproto=static–ip=1.1.1.1 --metmask=255.0.0.0 --gateway=1.1.1.254 --nameserver=1.1.1.2
netmask--bootproto=dhcp --device=eth0
skipx (可選)
如果該項存在,就不對系統的X進行設置;
xconfig (可選)
配置X window ;如果不給出選項,在安裝過程中需要手動調整設置;當然不安裝X時不應該添加該項;
--driver 爲顯卡設置X驅動
--videoram= 設置顯卡的RAM大小
--defaultdesktop= 設置GNOME/KDE作爲默認桌面;假定這兩個桌面環境在%packages例已經安裝
--startxonboot 使用圖形界面登錄系統
--resolution= 設置圖形界面的分辨率;可用值有640*480、800*600、1024*768等;確保設置指適合於顯示卡及顯示器;
--depth= 設置顯示色深;可用值有8/16/24/32;確保設置值適合於顯示設備;
例:
xconfig --startxonboot --resolution=800*600 --depth=16
services (可選)
設置禁用或允許列出的服務;
--disabled 設置服務爲禁用
--enabled 啓動服務
例:
services --disabledautid,cups,smartd,nfslock 服務之間用逗號隔開,不能有空格
iscsi(可選)
指定額外的ISCSI設備;
issci --ipaddr=ipaddr [options].
--target
--port=
--user=
--password=
part/partition (install模式必須)
建立新分區;
part <mntpoint>|swap|pv.id|rdid.id options
mntpoint:掛載點,是在創建普通分區時指定新分區掛載位置的項;掛載點需要格式正確
swap: 創建swap分區;
raid.id: 表示創建的分區類型爲raid型;必須用id號進行唯一區別;
pv.id: 表示所創建的分區類型爲LVM型;必須用唯一id號進行區別;
--size= 設置分區的最小值,默認單位爲M,但是不能寫單位;
--grow 讓分區自動增長利用可用的磁盤空間,或是增長到設置的maxsize值;
--maxsize 設置分區自動增長(grow)時的最大容量值,以M爲單位,但不能寫單位;
--onpart=/--usepart= 設置使用原有的分區;
--noformat 設置不格式化指定的分區,在跟—onpart一同使用時,可以避免刪除原有分區上的數據,在新安裝的系統中保留使用數據;
--asprimary 強制制定該分區爲主分區;若指定失敗,分區會失敗,導致安裝停止;
--fstype= 新增普通分區時指定分區的類型,可以爲ext2、ext3、ext4、swap、vfat及hfs;
--ondisk=/--ondrive= 設定該分區創建在一個具體的磁盤上;
--start 指定分區以磁盤上那個磁道開始;需要跟--ondisk參數一塊使用;
--end 指定分區以磁盤上那個磁道結束;需要跟上述兩個參數一起使用;
--recommended:讓系統自行決定分區的大小;在創建swap分區時,若RAM<2G,則分區大小爲2*RAM;若RAM>=2G時,分區大小爲RAM+2G;
--bytes-pre-inode= 指定分區格式化時inode的大小;默認值爲4096
--fsoptions= 指定創建fstab文件時該分區掛載參數項;
例:
part /boot --fstype=“ext3” --size=100
part swap --fstype=“swap” –size=512
part / --bytes-pre-inode=4096 --fstype=“ext4”--size=10000
part /data --onpart=/dev/sdb1 --noformat
part raid.100 --size=2000
part pv.100 --size=1000
raid (可選)
設置RAID。
raid 掛載點 --level=<level> --device=<mddevices_name> <raid組成分區>
掛載點: 選取根/時,注意儘量避免/boot在RAID內,除非爲RAID1;
--level= 設置RAID級別
--device= RAID設備名稱,如md0,md1...
--byte-pre-inode= 設置該RAID分區上inode大小;若分區文件系統類型不支持該參數,會靜默忽略參數;
--spares= 設置RAID的熱備盤
--fstype= 設置文件系統類型
--fsoptions= 設置掛載該文件系統時自定義的一些參數,參數寫入fstab文件;
--useexisting 使用現有的RAID設備並且重新格式化原設備
--noformat 在使用現有的RAID設備時不格式化原有RAID設備
例:完整創建一個RAID1設備示例;
part raid.10 --size=1000 --ondisk=/dev/sdb
part raid.11 --size=1000 --ondisk=/dev/sdc
raid /data --level=1 --device=md0 raid.10 raid.11
volgroup (可選)
創建一個LVM卷組VG;
volgroup vg_name partition [options]
--useexiting 使用現有的VG並且重新格式化
--noformat 使用現有的VG時不做格式化
--pesize 設置PE(physical extents)塊大小
例:
part pv.11 --size=2000
volgroup myvg pv.11
logvol (可選)
創建一個LVM邏輯卷LV;
logvel mnt_point --vgname=vg_name --size=lv_size --name=lv_name [options]
--useexiting 使用現有的LV並且重新格式化
--noformat 使用現有的LV時不做格式化
--fstype= 指定RAID分區類型
--fsoptions= 設置掛載該文件系統時自定義的一些參數,參數寫入fstab文件;
--byte-pre-inode= 設置該RAID分區上inode大小;
--precent= 設定LV大小爲VG可用空間的比例;
例:
part pv.20 --size=5000
volgroup mvvg pv.20
logvol /data --vgname=myvg --size=3000 --name=mydata