第七部分其它运维知识
第四十四章 批量无人值守安装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)配置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
rpcbind0:off1:off2:on3:on4:on5:on6:off
chkconfig --list nfs
nfs0:off1:off2:on3:on4:on5:on6: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
xinetd0:off1:off2:on3:on4:on5:on6: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 {
optionrouters192.168.10.168;
optionsubnet-mask255.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
dhcpd0:off1:off2:on3:on4:on5:on6: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 routers192.168.175.2:默认网关
option subnet-mask255.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://
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 [ --type=
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 ]
--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--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]
--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: 创建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
partswap --fstype=“swap” –size=512
part/ --bytes-pre-inode=4096 --fstype=“ext4”--size=10000
part/data--onpart=/dev/sdb1--noformat
partraid.100 --size=2000
partpv.100--size=1000
raid(可选)
设置RAID。
raid 挂载点 --level=
挂载点:选取根/时,注意尽量避免/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设备示例;
partraid.10 --size=1000--ondisk=/dev/sdb
partraid.11 --size=1000--ondisk=/dev/sdc
raid/data --level=1--device=md0raid.10 raid.11
volgroup(可选)
创建一个LVM卷组VG;
volgroupvg_name partition[options]
--useexiting使用现有的VG并且重新格式化
--noformat使用现有的VG时不做格式化
--pesize设置PE(physical extents)块大小
例:
part pv.11--size=2000
volgroupmyvg pv.11
logvol(可选)
创建一个LVM逻辑卷LV;
logvelmnt_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
volgroupmvvg pv.20
【Linux运维学习笔记之三十三(批量无人值守安装CentOS)】logvol/data --vgname=myvg--size=3000--name=mydata
推荐阅读
- Linux|109 个实用 shell 脚本
- linux笔记|linux 常用命令汇总(面向面试)
- Linux|Linux--网络基础
- linux|apt update和apt upgrade命令 - 有什么区别()
- linux|2022年云原生趋势
- Go|Docker后端部署详解(Go+Nginx)
- 开源生态|GPL、MIT、Apache...开发者如何选择开源协议(一文讲清根本区别)
- GitHub|7 款可替代 top 命令的工具