本次实验环境如图1所示
1:安装条件条件:
1.确保主板支持intel-VT或AMD-V
2.VMware里的rhel 6.4已装好,并且已设置该虚拟机也支持虚拟化,设置以下所示
3.通过命令确认是不是支持intel-VT或AMD-V
[root@localhost ~]# egrep --color "vmx|svm" /proc/cpuinfo
有结果返回就说明支持,反之亦然
2:安装KVM并配置网卡桥接(桥接到eth1上),在已安装的rhel 6.4 (图 1所示)上操作
1.安装KVM
[root@localhost ~]#yum -y groupinstall Virtualization "Virtualization Client" "Virtualization Platform" "Virtualization Tools"
[root@localhost ~]# /etc/init.d/libvirtd start ; chkconfig libvirtd on
[root@localhost ~]#/etc/init.d/libvirt-guests start ; chkconfig libvirt-guests on
2.网桥设置
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
HWADDR=00:0C:29:3F:5A:2e
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=172.16.1.1
NETMASK=255.255.255.0
BRIDGE=br0 //添加这1行
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@localhost network-scripts]# cp ifcfg-eth1 ifcfg-br0
[root@localhost network-scripts]# cat ifcfg-br0
DEVICE=br0 //装备名为br0
TYPE=Bridge //设别类型为Bridge
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=172.16.1.1
NETMASK=255.255.255.0
重启网络
[root@localhost network-scripts]#/etc/init.d/network restart
查看网桥信息
[root@localhost network-scripts]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c293f5a2e no eth1 //已桥接到eth1上
virbr0 8000.525400635d23 yes virbr0-nic
3:配置dhcp+tftp+vsftpd网络安装服务器
◆.安装dhcp
1.[root@localhost ~]# yum -y install dhcp
2.配置dhcp
[root@localhost ~]# grep -v "^#"/etc/dhcp/dhcpd.conf |grep ^[^$]
default-lease-time 600;
max-lease-time 7200;
next-server 172.16.1.1;
filename "pxelinux.0";
ddns-update-style none;
log-facility local7;
subnet 172.16.1.0 netmask 255.255.255.0 {
range 172.16.1.2 172.16.1.10;
}
[root@localhost ~]#
3.启动dhcp服务
[root@localhost ~]# /etc/init.d/dhcpd start;chkconfig dhcpd on
Starting dhcpd: [ OK ]
[root@localhost ~]#
◆.安装tftp-server和syslinux
1.[root@localhost ~]# yum -y install tftp-server syslinux
2.配置tftp
[root@localhost ~]# grep -v "^#"/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 = no //把yes改成no
per_source = 11
cps = 100 2
flags = IPv4
}
[root@localhost tftpboot]# pwd
/var/lib/tftpboot
[root@localhost tftpboot]# cp /usr/share/syslinux/pxelinux.0 ./
[root@localhost tftpboot]# mkdir pxelinux.cfg
[root@localhost tftpboot]# cp /media/rhel/isolinux/* ./ ///media/rhel为光盘挂载目录
[root@localhost tftpboot]# cp isolinux.cfg pxelinux.cfg/default
[root@localhost tftpboot]# chmod 644 pxelinux.cfg/default
[root@localhost tftpboot]# vi pxelinux.cfg/default (其中红色为更改处)
default linux
#prompt 1
timeout 600
display boot.msg
menu background splash.jpg
menu title Welcome to Red Hat EnterpriseLinux 6.4!
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 or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img ksdevice=eth0 ks=ftp://172.16.1.1/rhel6.4.cfg
label vesa
menu label Install system with ^basic video driver
kernel vmlinuz
append initrd=initrd.img xdriver=vesa nomodeset
label rescue
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img rescue
label local
menu label Boot from ^local drive
localboot 0xffff
label memtest86
menu label ^Memory test
kernel memtest
append -
[root@localhost tftpboot]#
3.启动xinentd服务
[root@localhost ~]# /etc/init.d/xinetd start ; chkconfig xinetd on
Starting xinetd: [ OK ]
[root@localhost ~]#
◆安装vsftpd
1. [root@localhost ~]# yum -y install vsftpd
2.启动vsftpd服务
[root@localhost ~]# /etc/init.d/vsftpd start ; chkconfig vsftpd on
Starting vsftpd for vsftpd: [ OK ]
[root@localhost ~]#
3.挂载安装光盘到ftp目录下
[root@localhost ~]# mount /dev/cdrom/ var/ftp/pub/
◆配置ks文件
1.ks文件内容以下
[root@localhost ~]# cat rhel6.4.cfg
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url="ftp://172.16.1.1/pub"
# Root password
rootpw --iscrypted$1$p4HkNd7X$xOiflpAb0Rsi6Ec2R1F9l1
# System authorization information
auth --useshadow --passalgo=sha512
# Use text mode install
text
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# 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 bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part / --fstype="ext4"--ondisk=vda --size=4000
part swap --fstype="swap" --grow--ondisk=vda --size=1
%packages
@base
gcc
gcc-c++
libstdc++-devel
make
openssh-clients
acpid
%end
%post
echo"ttyS0">>/etc/securetty
sed -i '/quiet/a console=ttyS0' /boot/grub/grub.conf
sed -i '/quiet/N; s/
/ /' /boot/grub/grub.conf
cat >>/etc/yum.repos.d/network.repo<<EOF
[Server]
name=Red Hat Enterprise Linux 6.4
baseurl=ftp://172.16.1.1/pub/Server
enabled=1
gpgcheck=0
[HighAvailability]
name=Red Hat Enterprise Linux 6.4
baseurl=ftp://172.16.1.1/pub/HighAvailability
enabled=1
gpgcheck=0
[LoadBalancer]
name=Red Hat Enterprise Linux 6.4
baseurl=ftp://172.16.1.1/pub/LoadBalancer
enabled=1
gpgcheck=0
[ResilientStorage]
name=Red Hat Enterprise Linux 6.4
baseurl=ftp://172.16.1.1/pub/ResilientStorage
enabled=1
gpgcheck=0
[ScalableFileSystem]
name=Red Hat Enterprise Linux 6.4
baseurl=ftp://172.16.1.1/pub/ScalableFileSystem
enabled=1
gpgcheck=0
EOF
[root@localhost ~]#
注:ks文件制作这里不做演示,我已提早做好
2.复制rhel6.4.cfg到/var/ftp/目录下
[root@localhost ~]# cp rhel6.4.cfg /var/ftp/
4:开始安装虚拟机,virt-manager图形界面安装在这里不做演示,这里只演示通过ks文件安装
1.location+"extra-args"方式安装
[root@localhost ~]# virt-install
> --name rhel6.4⑴
> --ram 1024
> --vcpus 1
> --os-type=linux //可以不需要这句,只支持URL方式
> --os-variant=rhel6 //可以不需要这句,只支持URL方式
> --network bridge=br0
> --file /var/lib/libvirt/images/rhel6.4⑴.img
>--file-size 5
>--nonsparse
> --location ftp://172.16.1.1/pub/
> --extra-args "ks=ftp