Guest virtual machine installation
=====================================================

使用virt-install创建虚拟机

[root@uplook ~]# virt-install  --help
[root@uplook ~]# mkdir   -pv   /vmdisk     #创建磁盘镜像保存目录

创建虚拟机vm00(已测OK):
注:\换行符的后面不能有空格。
virt-install \
   --name=vm00  \
   --ram 1024  \
   --vcpus=1 \
   --disk path=/vmdisk/vm00.img,size=5,format=qcow2  \
   --vnc --vncport=5910 --vnclisten=0.0.0.0 \
   --
location=ftp://192.168.10.7/dvd

创建pc虚拟机(金测OK,安装并进入系统)
virt-install \
       --graphics vnc,listen=0.0.0.0,port=5920,keymap='en-us'  \
       --name=pc \
       --ram=512 \
       --vcpus=1 \
       --disk path=/var/lib/libvirt/p_w_picpaths/pc.img,size=3,format=qcow2 \
       --location=ftp://192.168.10.7/dvd

163网易centos7源:http://mirrors.163.com/centos/7.3.1611/os/x86_64/

创建虚拟机vm01(已测OK):
注:本例采用163网络源共享的centos7.3安装文件,启动速度很慢。
virt-install \
   --name=vm01  \
   --ram 1200  \
   --vcpus=1 \
   --disk path=/vmdisk/vm01.img,size=5  \
   --vnc --vncport=5911 --vnclisten=0.0.0.0 \
   --
location=http://mirrors.163.com/centos/7.3.1611/os/x86_64/

创建虚拟机vm02(已测OK):
virt-install \
   --name=vm02  \
   --ram 1024 \
   --vcpus=1 \
   --disk path=/vmdisk/vm02.img,size=7  \
   --vnc --vncport=5912 --vnclisten=0.0.0.0 \
   --cdrom /opt/rhel73.iso


创建虚拟机vm03(已测OK):
virt-install \
   --name=vm03  \
   --ram=512 \
   --vcpus=1 \
   --arch=x86_64 \
   --os-type=linux \
   --os-variant=rhel6 \
   --hvm \
   --bridge=virbr0 \    
   --disk path=/vmdisk/vm03.img,size=7  \
   --cdrom /opt/rhel65.iso
\
   --graphics vnc,listen=0.0.0.0,port=5920,password=123 \
   --extra-args="ks=ftp://172.16.8.100/rhel6.5.ks"
   --noautoconsole


----------------------------------------------------------------------
创建虚拟机的练习:

[root@uplook ~]# /usr/sbin/virt-install \  后面不能有空格
       --graphics vnc \
       --name=uplook \
       --ram=512 \
       --vcpus=1 \
       --arch=x86_64 \
       --os-type=linux \
       --os-variant=rhel6 \
       --hvm \
       --disk path=/var/lib/libvirt/p_w_picpaths/uplook.img,size=8,format=qcow2 \
       --bridge=virbr0 \
       --location=ftp://172.16.8.100/rhel6.4 \
       --extra-args="ks=ftp://172.16.8.100/rhel6.4.ks"
       
[root@uplook ~]# /usr/sbin/virt-install \
       --graphics vnc,listen=0.0.0.0,port=5920,password=123  \
       --noautoconsole \
       --name=uplook1 \
       --ram=512 \
       --vcpus=1 \
       --arch=x86_64 \
       --os-type=linux \
       --os-variant=rhel6 \
       --hvm \
       --disk path=/var/lib/libvirt/p_w_picpaths/uplook1.img,size=8,format=qcow2 \
       --bridge=virbr0 \
       --location=ftp://172.16.8.100/rhel6.4 \
       --extra-args="ks=ftp://172.16.8.100/rhel6.4.ks"
       
[root@uplook ~]# /usr/sbin/virt-install \
--nographics \
--name=centos7-1 \
--ram=512 \
--vcpus=1 \
--arch=x86_64 \
--os-type=linux \
--hvm \
--disk path=/var/lib/libvirt/p_w_picpaths/centos7-1.img,size=8,format=qcow2 \
--location=ftp://192.168.2.129/centos7.2 \
--extra-args="ks=ftp://192.168.2.129/ks.cfg console=ttyS0"


虚拟机相关文件
[root@uplook ~]# virsh list --all
Id    Name                           State
----------------------------------------------------
-     node1                          shut off
-     uplook                        shut off

1. 配置文件
虚拟机配置文件xml
[root@uplook ~]# ls /etc/libvirt/qemu
autostart networks  node1.xml  uplook.xml

[root@uplook ~]# virsh edit uplook
[root@uplook ~]# virsh dumpxml uplook > newhost

设置自动运行vm
[root@uplook ~]# virsh autostart uplook
Domain uplook marked as autostarted

[root@uplook ~]# ls /etc/libvirt/qemu/autostart/
uplook.xml

[root@uplook ~]# ll /etc/libvirt/qemu/autostart/uplook.xml
lrwxrwxrwx. 1 root root 29 Jul 30 13:46 /etc/libvirt/qemu/autostart/uplook.xml -> /etc/libvirt/qemu/uplook.xml

网络配置文件xml
[root@uplook ~]# ls /etc/libvirt/qemu/networks/
autostart  default.xml
[root@uplook ~]#
[root@uplook ~]# ls /etc/libvirt/qemu/networks/autostart/
default.xml

存储池配置文件xml
[root@uplook ~]# ls /etc/libvirt/storage/
autostart  default.xml
[root@uplook ~]# ls /etc/libvirt/storage/autostart/
default.xml

2. 镜像文件[磁盘文件]
[root@uplook ~]# ls /var/lib/libvirt/p_w_picpaths/
node1.img  uplook.img      



[root@uplook ~]# man virt-install
General Options:
Installation Method Options:
Storage Configuration:
Networking Configuration:        
Graphics Configuration:
Device Options:        
Virtualization Platform Options:
   -v, --hvm           This guest should be a fully virtualized guest
   -p, --paravirt      This guest should be a paravirtualized guest
   --arch=ARCH         The CPU architecture to simulate    
       
sparse稀疏模式 分10G不一定立马分配
spice  

virt-install --connect URI 连接其他机器安装系统  -c
maxmemory 最大内存
-vcpus 5,maxcpus=2,cpuset=1-4,6,8指定处理器
-l  url
-x 扩展参数  kickstart

--------------------------------------------

给kvm虚拟机添加console管理功能(金测OK):


注:console用于没有安装linux桌面环境,无法用virt-manager管理,且不知道虚拟机IP
KVM主机从console口进入虚拟机:
首先,修改虚拟机的内核:
方法一:用grubby命令修改grub.cfg菜单文件
cat  /etc/securetty     #查看安全终端配置文件
grubby --update-kernel=ALL --args="console=ttyS0"

说明:grubby是修改grub菜单参数的命令,其中--update-kernel和--args是修改kernel内核那行代码的选项。

方法二:用virt-edit命令在宿主机上修改vm虚拟机磁盘镜像
[root@uplook ~]# virt-edit  -d  vmx  /boot/grub2/grub.cfg
console=ttyS0

重启虚拟机,从KVM宿t主机console到vmx虚拟机:
virsh console vmx

创建kvm虚拟机时启用console功能(未测):

virt-install --name=vmx  --ram 256  --vcpus=1 --disk path=/vmdisk/vmx.img,size=3  --location /opt/rhel73.iso    --extra-args='console=tty0 console=ttyS0,115200n8 serial' --force --autostart


-------------------------------------------