KVM---虚拟机安装

虚拟机安装

1. 图形安装

2. 命令安装

# virt-install \
-n mini \ #虚拟机名称
--memory 1024 \ #虚拟机内存
--vcpus 1 \ #虚拟机CPU数量,不能超过物理CPU的数量
--cdrom /iso/CentOS-7.3-x86_64-DVD-1611.iso \ #安装源
--disk /var/lib/libvirt/images/mini.qcow2,size=10,format=qcow2,bus=scsi \ #磁盘
--network bridge=br0 #桥接方式
 
# virt-install -n windowsXP --memory 1024 --vcpus 1 --cdrom /iso/YLMF_GHOST_XPSP3_PRO_2016_0425.iso --disk /kvm/disk/windowsXP.qcow2,size=10,format=qcow2
 
--n #虚拟机名称
--memory #分配内存大小,MB
--vcpus #配置虚拟机cpu数目,注意不能超过物理cpu数目
--cdrom #指定安装方式为光盘镜像 --pxe 安装方式为pxe
--disk #指定虚拟机存储卷
--network #指定网络,如:
--network bridge=br0 #桥接方式
--network network=default #NAT方式, 将虚拟机连接到default网络
-----------------------------------------------------------------------------------------------------
pxe方式安装虚拟机
为避免干扰,建议使用隔离的网络(NAT)
1. 关闭NAT网络网桥的DHCP功能
2. 配置并测试DHCP,TFTP,HTTP服务器
3. 安装虚拟机
# virt-install -n test --memory 1500 --pxe --disk=/var/lib/libvirt/images/test.qcow2,size=10,format=qcow2
----------------------------------------------------------------------------------------------------------
不配置PXE实现自动安装:
# virt-install \
-n test \
--memory 1500 \
-l http://192.168.10.10/cdrom \ #通过远程共享的镜像安装
-x "ks=http://192.168.10.10/ks/ks.cfg console=ttyS0" \ #指定配置文件,配置console
--disk /var/lib/libvirt/images/test.qcow2,size=10,format=qcow2
 

3. 文本方式安装(极端情况-服务器没有图形 客户端也没有图形)

先做ftp并将ios挂载
#virt-install --connect qemu:///system -n vm1 -r 2050 --disk /var/lib/libvirt/images/vm1.img,size=7 --os-type=linux --os-variant=centos7.0 --vcpus=1 --location=ftp://192.168.10.201/centos7 -x console=ttyS0 --nographics
注意:
1. ⽤这种⽅式安装的操作系统,⼤⼩写会胡乱变化,不影响远程操作
2. 内存必须2G以上
 
4、模板镜像+配置⽂件 ⽅式创建虚拟机
 
1.拷⻉模板镜像和配置⽂件
[root@KVM ~][root@qfedu.com ~]# cp /var/lib/libvirt/images/vm2.img /var/lib/libvirt/images/vm3.img
[root@KVM ~][root@qfedu.com ~]# cp /etc/libvirt/qemu/vm2.xml /etc/libvirt/qemu/vm3.xml
2.修改配置⽂件
[root@qfedu.com ~]# vim /etc/libvirt/qemu/vm3.xml
<domain type='KVM'>
<name>vm3</name>
<uuid>a2f62549-c6b7-4b8f-a8e2-c14edda35a78</uuid>
<memory unit='KiB'>2099200</memory>
<currentMemory unit='KiB'>2099200</currentMemory>
<vcpu placement='static'>2</vcpu>
<os>
<type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
</features>
<cpu mode='custom' match='exact' check='partial'>
<model fallback='allow'>Haswell-noTSX</model>
</cpu>
<clock offset='utc'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>
<timer name='hpet' present='no'/>
</clock>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<pm>
<suspend-to-mem enabled='no'/>
<suspend-to-disk enabled='no'/>
</pm>
<devices>
<emulator>/usr/libexec/qemu-KVM</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/vm3.im'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/vm3-1.img'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x16' function='0x0'/>
</disk>
<controller type='usb' index='0' model='ich9-ehci1'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x7'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci1'>
<master startport='0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0' multifunction='on'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci2'>
<master startport='2'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x1'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci3'>
<master startport='4'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pci-root'/>
<controller type='virtio-serial' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</controller>
<interface type='network'>
<mac address='52:54:00:f2:28:6f'/>
<source network='default'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<serial type='pty'>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>
</console>
<channel type='unix'>
<target type='virtio' name='org.qemu.guest_agent.0'/>
<address type='virtio-serial' controller='0' bus='0' port='1'/>
</channel>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</memballoon>
</devices>
</domain>
 
 
连接虚拟机
 
1.通过console连接
在虚拟机的grub文件中配置console, 添加一个内核参数 console=ttyS0
# vim /boot/grub2/grub.cfg
linux16 /vmlinuz-3.10.0-514.el7.x86_64 root=/dev/mapper/cl-root ro rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet LANG=en_US.UTF-8 console=ttyS0
------------------------------------------------------------------------------------------------------------------------------------
如果不能进入到虚拟机,可以直接修改虚拟磁盘文件
1). 安装工具
# yum -y install libguestfs-tools
2). 查看虚拟机磁盘文件
# virsh domblklist mini
目标 源
------------------------------------------------
sda /var/lib/libvirt/images/mini.qcow2
3). 修改虚拟机磁盘文件grub.cfg, 在对应的内核参数后面加上console=ttyS0
# virt-edit /var/lib/libvirt/images/mini.qcow2 /boot/grub2/grub.cfg
linux16 /vmlinuz-3.10.0-514.el7.x86_64 root=/dev/mapper/cl-root ro rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet LANG=en_US.UTF-8 console=ttyS0
4). 重启虚拟机
# virsh reboot mini
 
5). console连接虚拟机
# virsh console mini
连接到域 mini
Escape character is ^]
#此处回车
 
按快捷键 Ctrl+] 退出console
 
-----------------------------------------------------------------------------------------------------------------------------------------
错误:
error : virModuleLoadFile:53 : 内部错误:Failed to load module '/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_rbd.so': /usr/lib64/libvirt/storage-backend/libvirt_storage_backend_rbd.so: undefined symbol: rbd_diff_iterate2
解决:
mv /usr/lib64/libvirt/storage-backend/libvirt_storage_backend_rbd.so{,.bak}
-----------------------------------------------------------------------------------------------------------------------------------------
 
2.通过ssh连接
1).直接修改客户机的磁盘文件配置好网卡配置文件,再启动客户机,就可以通过ssh连接虚拟机了
2).console连上客户机,配置好IP
posted @ 2020-10-20 19:23  梦里花落知多少sl  阅读(442)  评论(0)    收藏  举报