命令行安装centos7
在虚拟机安装centos7
上传镜像到root下
命令安装
[root@kvm ~]# virt-install --name=test --memory=512,maxmemory=1024
--vcpus=1,maxvcpus=2 --os-type=linux --os-variant=rhel7
--location=/tmp/CentOS-7-x86_64-DVD-1511.iso
--disk path=/kvm_data/test.img,size=10
--bridge=br0
--graphics=none
--console=pty,target_type=serial
--extra-args="console=tty0 console=ttyS0"
虚拟机安装完成后
ctrl+]退出
查看挂载
虚拟机管理
[root@kvm ~]# ls /kvm_data/
lost+found test.img
查看当前系统有哪些虚拟机(只能看到正在运行的虚拟机)
[root@kvm ~]# virsh list
Id Name State
----------------------------------------------------
2 test running
查看虚拟机列表,包括未运行的虚拟机
[root@kvm ~]# virsh list --all
启动虚拟机
[root@kvm ~]# virsh start +名字
进入指定的虚拟机
[root@kvm ~]# virsh console test
Connected to domain test
Escape character is ^]
CentOS Linux 7 (Core)
Kernel 3.10.0-327.el7.x86_64 on an x86_64
localhost login:
vrish常用命令
virsh shutdown test
//关闭虚拟机
virsh start test
//开启虚拟机
virsh destroy test
//类似stop,这个是强制停止
virsh undefine test
//彻底销毁虚拟机,会删除虚拟机配置文件,virsh list --all就看不到
virsh autostart test
//宿主机开机该虚拟机也开机
virsh autostart --disable test
//解除开机启动
virsh suspend test
//挂起
virsh resume test
//恢复
自动获取ip
[root@localhost ~]# dhclient eth0
进入虚拟机
[root@kvm ~]# virsh console test
Connected to domain test
Escape character is ^]
是否可以使用
[root@localhost ~]# yum install net-tools -y
[root@localhost ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.200.6 netmask 255.255.255.0 broadcast 192.168.200.255
inet6 fe80::5054:ff:fef1:3555 prefixlen 64 scopeid 0x20<link>
ether 52:54:00:f1:35:55 txqueuelen 1000 (Ethernet)
RX packets 3092 bytes 13182657 (12.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2159 bytes 122033 (119.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
查看配置
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 480 100 107 6 272 229
Swap: 1023 0 1023
查看cpu信息
[root@localhost ~]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 61
model name : Intel Core Processor (Broadwell, IBRS)
stepping : 2
microcode : 0x1
cpu MHz : 1497.601
cache size : 4096 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx hypervisor lahf_lm 3dnowprefetch fsgsbase bmi1 avx2 smep bmi2 invpcid rdseed adx smap xsaveopt
bogomips : 2995.20
clflush size : 64
cache_alignment : 64
address sizes : 43 bits physical, 48 bits virtual
power management:
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/vda3 8.6G 922M 7.7G 11% /
devtmpfs 488M 0 488M 0% /dev
tmpfs 497M 0 497M 0% /dev/shm
tmpfs 497M 6.5M 490M 2% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/vda1 497M 118M 380M 24% /boot
tmpfs 49M 0 49M 0% /run/user/0
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 10G 0 disk
├─vda1 253:1 0 500M 0 part /boot
├─vda2 253:2 0 1G 0 part [SWAP]
└─vda3 253:3 0 8.5G 0 part /
虚拟机管理
克隆虚拟机
关闭虚拟机
[root@kvm ~]# virsh shutdown test
Domain test is being shutdown
克隆
[root@kvm ~]# virt-clone --original test --name test02 --file /kvm_data/test02.img
Allocating 'test02.img' | 10 GB 00:03
Clone 'test02' created successfully
克隆成功
查看所有的虚拟机
[root@kvm ~]# virsh list --all
Id Name State
----------------------------------------------------
- test shut off
- test02 shut off
登录test02
[root@kvm ~]# virsh console test02
Connected to domain test02
Escape character is ^]
CentOS Linux 7 (Core)
Kernel 3.10.0-327.el7.x86_64 on an x86_64
localhost login: root
密码:
Last login: Wed Mar 10 21:31:20 on ttyS0
获得了一个ip
远程登录虚拟机
[root@kvm ~]# ssh root@192.168.200.7
The authenticity of host '192.168.200.7 (192.168.200.7)' can't be established.
ECDSA key fingerprint is a7:1d:95:02:fd:1f:0c:5e:52:54:44:a0:5f:38:ad:35.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.200.7' (ECDSA) to the list of known hosts.
root@192.168.200.7's password:
Last login: Wed Mar 10 22:15:16 2021
ctrl+d退出
快照管理
创建快照
[root@kvm ~]# virsh snapshot-create test
Domain snapshot 1615386646 created
查看虚拟磁盘的信息
[root@kvm ~]# qemu-img info /kvm_data/test.img
image: /kvm_data/test.img
file format: qcow2 ##格式
virtual size: 10G (10737418240 bytes) ##大小
disk size: 1.3G ##实际占用磁盘
cluster_size: 65536
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK
1 1615386646 229M 2021-03-10 22:30:46 00:11:45.913
Format specific information:
compat: 1.1
lazy refcounts: true
[root@kvm ~]# du -sh /kvm_data/
2.5G /kvm_data/
查看快照运行状态
[root@kvm ~]# virsh snapshot-list test
Name Creation Time State
------------------------------------------------------------
1615386646 2021-03-10 22:30:46 +0800 running
查看当前快照版本
[root@kvm ~]# virsh snapshot-current test
查看所有快照的配置文件
[root@kvm ~]# ls /var/lib/libvirt/qemu/snapshot/test/
1615386646.xml
恢复快照
[root@kvm ~]# virsh snapshot-revert test 1615386646
删除快照
[root@kvm ~]# virsh snapshot-delete test 1615386646
Domain snapshot 1615386646 deleted
注意:raw格式的虚拟磁盘不支持做快照,qcow2支持
磁盘格式
创建raw的虚拟磁盘
[root@kvm ~]# qemu-img create -f raw /kvm_data/test_1.img 2G
Formatting '/kvm_data/test_1.img', fmt=raw size=2147483648
查看磁盘信息
[root@kvm ~]# qemu-img info /kvm_data/test_1.img
image: /kvm_data/test_1.img
file format: raw
virtual size: 2.0G (2147483648 bytes)
disk size: 0
转换磁盘格式
[root@kvm ~]# qemu-img convert -O qcow2 /kvm_data/test_1.img /kvm_data/test_1.qcow2
此处的O要大写
qcow用多少占多少比较节省空间
转换test02
[root@kvm ~]# qemu-img convert -O raw /kvm_data/test02.img /kvm_data/test02_2.img
修改配置
[root@kvm ~]# virsh edit test02
Domain test02 XML configuration edited.
[root@kvm ~]# virsh start test02
Domain test02 started
事实证明raw形式无法创建快照
[root@kvm ~]# virsh snapshot-create test02
error: unsupported configuration: internal snapshot for disk vda unsupported for storage type raw
磁盘扩容
[root@kvm ~]# qemu-img resize /kvm_data/test02_2.img +2G
Image resized.
查看磁盘信息为12G
[root@kvm ~]# qemu-img info /kvm_data/test02_2.img
image: /kvm_data/test02_2.img
file format: raw
virtual size: 12G (12884901888 bytes)
disk size: 1.1G
重启虚拟机,需要在宿主机关机然后重启
[root@localhost ~]# fdisk /dev/vda
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): p
已选择分区 4
起始 扇区 (20971520-25165823,默认为 20971520):
将使用默认值 20971520
Last 扇区, +扇区 or +size{K,M,G} (20971520-25165823,默认为 25165823):
将使用默认值 25165823
分区 4 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/vda:12.9 GB, 12884901888 字节,25165824 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00001894
设备 Boot Start End Blocks Id System
/dev/vda1 * 2048 1026047 512000 83 Linux
/dev/vda2 1026048 3123199 1048576 82 Linux swap / Solaris
/dev/vda3 3123200 20971519 8924160 83 Linux
/dev/vda4 20971520 25165823 2097152 83 Linux
增加新的磁盘
[root@kvm ~]# qemu-img create -f raw /kvm_data/test02_3.raw +5G
Formatting '/kvm_data/test02_3.raw', fmt=raw size=5368709120
做出修改
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/kvm_data/test02_3.raw'/>
<target dev='vdb' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
在宿主机关闭打开登录虚拟机test02
查看是否增加新的磁盘
qcow2扩容
报错qcow2不支持扩容
[root@kvm ~]# qemu-img resize /kvm_data/test.img +2G
qemu-img: Can't resize an image which has snapshots
qemu-img: This image does not support resize
删除快照
[root@kvm ~]# virsh snapshot-delete test 1615388702
Domain snapshot 1615388702 deleted
调整cpu 内存 网卡
查看配置
[root@kvm ~]# virsh dominfo test
Id: 4
Name: test
UUID: ceb63924-407d-4f14-a91c-570625353d4e
OS Type: hvm
State: running
CPU(s): 1
CPU time: 66.8s
Max memory: 1048576 KiB
Used memory: 524288 KiB
Persistent: yes
Autostart: disable
Managed save: no
Security model: selinux
Security DOI: 0
Security label: system_u:system_r:svirt_t:s0:c776,c872 (permissive)
调整cpu大小
[root@kvm ~]# virsh edit test
Domain test XML configuration edited.
查看到已经更改
不进入虚拟机进行修改
[root@kvm ~]# virsh setmem test 800M
[root@kvm ~]# virsh dominfo test
Id: 8
Name: test
UUID: ceb63924-407d-4f14-a91c-570625353d4e
OS Type: hvm
State: running
CPU(s): 1
CPU time: 30.7s
Max memory: 1048576 KiB
Used memory: 819200 KiB
Persistent: yes
Autostart: disable
Managed save: no
Security model: selinux
Security DOI: 0
Security label: system_u:system_r:svirt_t:s0:c770,c898 (permissive)
登陆后查看
[root@kvm ~]# virsh console test
Connected to domain test
Escape character is ^]
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 768 96 561 6 110 548
Swap: 1023 0 1023
内存调整到500M
[root@kvm ~]# virsh setmem test 500M
[root@kvm ~]# virsh dominfo test
Id: 8
Name: test
UUID: ceb63924-407d-4f14-a91c-570625353d4e
OS Type: hvm
State: running
CPU(s): 1
CPU time: 32.5s
Max memory: 1048576 KiB
Used memory: 512000 KiB
Persistent: yes
Autostart: disable
Managed save: no
Security model: selinux
Security DOI: 0
Security label: system_u:system_r:svirt_t:s0:c770,c898 (permissive)
[root@kvm ~]# virsh edit test
依旧是之前的
追加到
[root@kvm ~]# virsh dumpxml test > /etc/libvirt/qemu/test.xml
增加网卡
查看网卡信息
[root@kvm ~]# virsh domiflist test
Interface Type Source Model MAC
-------------------------------------------------------
vnet1 bridge br0 virtio 52:54:00:f1:35:55
增加网卡
[root@kvm ~]# virsh attach-interface test --type bridge --source virbr0
Interface attached successfully
指定桥街到那块网卡
[root@kvm ~]# virsh attach-interface test --type bridge --source br0
Interface attached successfully
[root@kvm ~]# virsh domiflist test
Interface Type Source Model MAC
-------------------------------------------------------
vnet1 bridge br0 virtio 52:54:00:f1:35:55
vnet2 bridge virbr0 rtl8139 52:54:00:47:64:ef
vnet3 bridge br0 rtl8139 52:54:00:00:56:b4
再次查看有三块网卡
迁移虚拟机
关闭虚拟机
[root@kvm ~]# virsh shutdown test
Domain test is being shutdown
查看虚拟机磁盘所在目录
[root@kvm ~]# virsh domblklist test
Target Source
------------------------------------------------
vda /kvm_data/test.img
hda -
/如果是远程机器,需要把该配置文件拷贝到远程机器上
[root@kvm ~]# virsh dumpxml test > /etc/libvirt/qemu/test03.xml
如果是迁移到远程,则需要把该磁盘文件拷贝到远程机器上
[root@kvm ~]# rsync -av /kvm_data/test.img /kvm_data/test03.img
此处报错,解决方法
yum install -y rsync
因为是迁移到本机,配置文件用的是test子机的配置,不改会有冲突,所以需要修改该文件。如果是远程机器不用修改
[root@kvm ~]# vi /etc/libvirt/qemu/test03.xml
定义新的虚拟机
[root@kvm ~]# virsh define /etc/libvirt/qemu/test03.xml
Domain test03 defined from /etc/libvirt/qemu/test03.xml
``
查看虚拟机列表,会发现新迁移的虚拟机test03
[root@kvm ~]# virsh list --all
Id Name State
----------------------------------------------------
7 test02 running
- test shut off
- test03 shut off