KVM虚拟机

那个机器登陆慢执行

echo "UseDNS no" >> /etc/ssh/sshd_config
systemctl restart sshd

kvm常用命令

brctl show br0 // 查看宿主机与虚拟机映射网卡
virsh console sg-14 // 宿主机进入虚拟机
control+']' // 虚拟机切换到宿主机
1.virsh list // 查看运行的虚拟机列表
virsh list --all // 查看全部虚拟机列表

2.virsh start sg-15 //启动虚拟机
virsh auotstart --disable sg-15 //取消自动启动

3. 连接虚拟机
virsh console +域名(虚拟机的名称)
4. 退出虚拟机
ctrl+]
5. 关闭虚拟机
virsh shutdown +域名
virsh destroy +域名
这种⽅式的关闭,是⼀种删除的⽅式,只是在virsh list中删除了该虚拟机。
6. 挂起虚拟机
virsh suspend +域名
7. 恢复被挂起的虚拟机
virsh resume +域名
8. ⼦机随宿主主机(母机)启动⽽启动
virsh autostart + 域名
9. 取消⾃动启动
virsh auotstart --disable +域名
10. 彻底删除虚拟机
删除虚拟机 virsh destroy +域名
解除标记 virsh undefine +域名
删除虚拟机⽂件
11. 启动虚拟机并进⼊该虚拟机
virsh start 域名 --console
12. 查看虚拟机信息
virsh dominfo 域名
13. 重启
virsh reboot 域名
14. 查看虚拟机信息
virsh dominfo 域名
15. 查看虚拟机磁盘
virsh domblklist 域名
16. 查看虚拟⽹卡
virsh domiflist 域名
17. 更改虚拟机配置,libvirt使⽤xml⽂件来定义虚拟机配置
virsh edit 域名


kvm虚拟机安装(centos)

:yum install -y qemu-kvm libvirt libvirt-python libguestfs-tools virt-install
:systemctl enable libvirtd && systemctl start libvirtd
:echo "BRIDGE=br0" >> /etc/sysconfig/network-scripts/ifcfg-enp1s0
:touch /etc/sysconfig/network-scripts/ifcfg-br0
:cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE="br0"
BOOTPROTO="static"
ONBOOT="yes"
TYPE="Bridge"
DELAY="0"
IPADDR="192.168.0.217"
PREFIX="24"
GATEWAY="192.168.0.254"
DNS1="114.114.114.114"
EOF
:systemctl restart network

:vi /etc/libvirt/qemu.conf
user = "root"
group = "root"
systemctl restart libvirtd

// 划分磁盘,qcow2格式可以打快照
:dd if=/dev/zero of=/home/vm-images/sg-14.img bs=1M count=102400
:dd if=/dev/zero of=/home/vm-images/sg-14.qcow2 bs=1M count=102400
// centos划分虚拟机
:virt-install --network bridge:br0 --name sg-14 --ram=8192 --vcpus=8 --disk path=/home/vm-images/sg-15.img,size=100 --graphics none --location=/root/CentOS-7-x86_64-Minimal-1810.iso --extra-args='console=ttyS0' --force


// 宿主机上执行,自动启动
:virsh autostart sg-14
// 停止
virsh shutdown sg-14&&virsh destroy sg-14&&virsh undefine sg-14
// 删除
:rm /home/vm-images/sg-14.img

KVM安装过程配置

kvm虚拟机安装(ubuntu)

sudo apt install qemu-kvm libvirt-daemon-system virtinst

vi /etc/libvirt/qemu.conf
user = "root"
group = "root"
systemctl restart libvirtd

// 划分磁盘,qcow2格式可以打快照
dd if=/dev/zero of=/home/vm-images/sg-14.img bs=1M count=51200
dd if=/dev/zero of=/home/vm-images/sg-14.qcow2 bs=1M count=102400

//Ubuntu划分虚拟机
virt-install --network bridge:br0 --name sg-15 --ram=8192 --vcpus=8 --disk path=/home/vm-images/sg-15.img,size=250 --graphics none --location=/root/ubuntu-22.04-live-server-amd64.iso,kernel=casper/vmlinuz,initrd=casper/initrd --extra-args='console=ttyS0' --force

// 宿主机上执行,自动启动
:virsh autostart sg-14
// 停止
virsh shutdown sg-14&&virsh destroy sg-14&&virsh undefine sg-14
// 删除
:rm /home/vm-images/sg-14.img

网卡配置

//虚拟机
cat >/etc/netplan/00--XXX << EOF
network:
    ethernets:
        enp1s0:
            dhcp4: no
            addresses:
            - 192.168.0.52/24
            gateway4: 192.168.0.254
            nameservers:
                addresses:
                - 114.114.114.114
EOF

netplan apply //应用



//宿主机
# This is the network config written by 'subiquity'
cat > ./00-installer-config.yaml <<EOF
network:
    version: 2
    ethernets:
        enp1s0:
            dhcp4: no
    bridges:
        br0:
          dhcp4: no
          interfaces:
          - enp1s0
          addresses:
          - 192.168.0.252/24
          gateway4: 192.168.0.254
          nameservers:
              addresses:
              - 114.114.114.114
EOF

ubuntu开启root登陆
sudo vi /etc/ssh/sshd_config
PermitRootLogin yes    并保存
userdel -r root1
reboot

kvm克隆

第一步:virsh list --all     //列出所有虚拟机
第二步:虚拟机必须在关闭的状态下:virsh shutdown sg-14
第三步:开始克隆:virt-clone --original sg-14 --name sg-15 --file /home/vm-images/sg-15.qcow2
--original  //后面跟要克隆的虚拟机名字
--name  //克隆后虚拟机的名字
--file  //指定存放的路径
第四步:启动克隆虚拟机:virsh start sg-15
第五步:登陆sg-15,并修改ip,hostname。(用sg-14的ip登陆,克隆时ip一并克隆了)
第六步:修改ip(ubuntu,centos不一样。自行上面查询)
第七步:修改hostname,vi /etc/hostname
第八步:reboot
第九步:回到宿主机,开机自启:virsh autostart sg-15
第十步:喝杯咖啡,大功告成


注(备用):将raw格式的VM5.img磁盘转换为qcow2格式的VM5.qcow2:
qemu-img convert -f raw -O qcow2 sg-14.img sg-14.qcow2
-f 需要转换的磁盘格式
-O 目标格式

kvm快照

创建快照

使用以下命令创建虚拟机的快照:
virsh snapshot-create-as <domain> <name> [--description <description>] [--disk-only] [--atomic]
<domain> 是虚拟机的名称
<name> 是快照的名称
--description 是可选的描述信息
--disk-only 表示只对虚拟机的磁盘进行快照
--atomic 表示在创建快照期间禁止虚拟机的操作,确保快照的一致性。

eg:对名为master-100虚拟机创建backups-100-v1的快照
virsh snapshot-create-as master-100 backups-100-v1 --description "2023-05-08备份100v1" --atomic

快照恢复

要恢复虚拟机到之前的快照状态,可以使用以下命令:
virsh snapshot-revert <domain> <name> [--force] [--running] [--paused]
<domain> 是虚拟机的名称
<name> 是要恢复的快照的名称
--force 表示强制恢复快照,即使虚拟机正在运行
--running 表示在恢复快照后立即启动虚拟机
--paused 表示在恢复快照后暂停虚拟机。

eg:对名为master-100的虚拟机恢复到backups-100-v1快照状态
virsh snapshot-revert master-100 backups-100-v1 --running
posted @ 2021-10-25 10:34  Jeff的技术栈  阅读(99)  评论(0编辑  收藏  举报
回顶部