本次试验环境如图1所示
一:安装前提条件: 1.确保主板支持intel-VT或AMD-V 2.VMware里的rhel 6.4已经装好,并且已设置该虚拟机也支持虚拟化,设置如下所示
3.通过命令确认是否支持intel-VT或AMD-V [iyunv@localhost ~]# egrep --color "vmx|svm" /proc/cpuinfo 有结果返回就说明支持,反之亦然
二:安装KVM并配置网卡桥接(桥接到eth1上),在已安装的rhel 6.4 (图 1所示)上操作 1.安装KVM [iyunv@localhost ~]#yum -y groupinstall Virtualization "Virtualization Client" "Virtualization Platform" "Virtualization Tools" [iyunv@localhost ~]# /etc/init.d/libvirtd start ; chkconfig libvirtd on [iyunv@localhost ~]#/etc/init.d/libvirt-guests start ; chkconfig libvirt-guests on
2.网桥设置 [iyunv@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 //添加这一行
[iyunv@localhost network-scripts]# pwd /etc/sysconfig/network-scripts [iyunv@localhost network-scripts]# cp ifcfg-eth1 ifcfg-br0 [iyunv@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 重启网络 [iyunv@localhost network-scripts]#/etc/init.d/network restart 查看网桥信息 [iyunv@localhost network-scripts]# brctl show bridge name bridge id STP enabled interfaces br0 8000.000c293f5a2e no eth1 //已桥接到eth1上 virbr0 8000.525400635d23 yes virbr0-nic
三:配置dhcp+tftp+vsftpd网络安装服务器 ◆.安装dhcp 1.[iyunv@localhost ~]# yum -y install dhcp
2.配置dhcp [iyunv@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; } [iyunv@localhost ~]#
3.启动dhcp服务 [iyunv@localhost ~]# /etc/init.d/dhcpd start;chkconfig dhcpd on Starting dhcpd: [ OK ] [iyunv@localhost ~]#
◆.安装tftp-server和syslinux 1.[iyunv@localhost ~]# yum -y install tftp-server syslinux
2.配置tftp [iyunv@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 } [iyunv@localhost tftpboot]# pwd /var/lib/tftpboot [iyunv@localhost tftpboot]# cp /usr/share/syslinux/pxelinux.0 ./ [iyunv@localhost tftpboot]# mkdir pxelinux.cfg [iyunv@localhost tftpboot]# cp /media/rhel/isolinux/* ./ ///media/rhel为光盘挂载目录 [iyunv@localhost tftpboot]# cp isolinux.cfg pxelinux.cfg/default [iyunv@localhost tftpboot]# chmod 644 pxelinux.cfg/default [iyunv@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 - [iyunv@localhost tftpboot]#
3.启动xinentd服务 [iyunv@localhost ~]# /etc/init.d/xinetd start ; chkconfig xinetd on Starting xinetd: [ OK ] [iyunv@localhost ~]#
◆安装vsftpd 1. [iyunv@localhost ~]# yum -y install vsftpd 2.启动vsftpd服务 [iyunv@localhost ~]# /etc/init.d/vsftpd start ; chkconfig vsftpd on Starting vsftpd for vsftpd: [ OK ] [iyunv@localhost ~]# 3.挂载安装光盘到ftp目录下 [iyunv@localhost ~]# mount /dev/cdrom/ var/ftp/pub/
◆配置ks文件 1.ks文件内容如下 [iyunv@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/\n/ /' /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 [iyunv@localhost ~]#
注:ks文件制作这里不做演示,我已提前做好
2.复制rhel6.4.cfg到/var/ftp/目录下 [iyunv@localhost ~]# cp rhel6.4.cfg /var/ftp/
四:开始安装虚拟机,virt-manager图形界面安装在这里不做演示,这里只演示通过ks文件安装 1.location+"extra-args"方式安装 [iyunv@localhost ~]# virt-install \ > --name rhel6.4-1 \ > --ram 1024 \ > --vcpus 1 \ > --os-type=linux \ //可以不需要这句,只支持URL方式 > --os-variant=rhel6 \ //可以不需要这句,只支持URL方式 > --network bridge=br0 \ > --file /var/lib/libvirt/images/rhel6.4-1.img \ >--file-size 5 \ >--nonsparse \ > --location ftp://172.16.1.1/pub/ \ > --extra-args "ks=ftp://172.16.1.1/rhel6.4.cfg"
2.通过pxe方式安装 [iyunv@localhost~]# virt-install \ > --name rhel6.4-1 \ > --ram 1024 \ > --vcpus 1 \ > --os-type=linux \ //可以不需要这句,只支持URL方式 > --os-variant=rhel6 \ //可以不需要这句,只支持URL方式 > --network bridge=br0 \ > --file /var/lib/libvirt/images/rhel6.4-1.img \ >--file-size 5 \ >--nonsparse \ >--pxe
注:以上两种方法可任选一种
3.正在格式化硬盘,如下图所示
4.正在安装,如下图所示
5.安装完成后,可通过virshconsole "虚拟机名"来控制虚拟机 [iyunv@localhost ~]# virsh console rhel6.4-1
6.关于控制虚拟机的一些常用命令 [iyunv@localhost ~]# virsh list //列出正在运行或暂停的虚拟机 [iyunv@localhost ~]# virsh list --all //列出所有的虚拟机包括已关机的 [iyunv@localhost ~]# virsh start rhel6.4-1 //开启名为rhel6.4-1这台虚拟机 [iyunv@localhost ~]# virsh shutdown rhel6.4-1 //关闭名为rhel6.4-1这台虚拟机 [iyunv@localhost ~]# virsh reboot rhel6.4-1 //重启名为rhel6.4-1这台虚拟机 [iyunv@localhost ~]# virsh destroy rhel6.4-1 //强行关闭名为rhel6.4-1这台虚拟机 [iyunv@localhost ~]# virsh dominfo rhel6.4-1 //列出名为rhel6.4-1这台虚拟机的相关信息
关于更详细的命令可以查看virsh的man手册页
|