KVM——虚拟机添加设备与挂载磁盘

目录

一. 图形化方式添加设备

1.  添加磁盘

2. 添加网卡

二. 命令行形式添加设备 

方式一: 

方式二:

磁盘格式raw和qcow2

raw格式

qcow2格式

如何选择

挂载磁盘 


一. 图形化方式添加设备

 

1.  添加磁盘

2. 添加网卡

先关机

给宿主机添加一块网卡

查看宿主机新增的网卡名字

[root@kvm-server ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:0b:a3:ba brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 192.168.226.149/24 brd 192.168.226.255 scope global dynamic noprefixroute ens33
       valid_lft 1300sec preferred_lft 1300sec
    inet6 fe80::20c:29ff:fe0b:a3ba/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:e9:d1:84 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
19: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:0b:a3:c4 brd ff:ff:ff:ff:ff:ff
    altname enp2s5


# 激活新网卡
[root@kvm-server ~]# ip link set ens37 up
[root@kvm-server ~]# dhclient ens37
bash: dhclient: 未找到命令...
安装软件包“dhcp-client”以提供命令“dhclient”? [N/y] y


 * 正在队列中等待... 
 * 正在载入软件包列表。... 
下列软件包必须安装:
 dhcp-client-12:4.4.2-19.b1.el9.x86_64	Provides the ISC DHCP client daemon and dhclient-script
 dhcp-common-12:4.4.2-19.b1.el9.noarch	Common files used by ISC dhcp client, server and relay agent
 geolite2-city-20191217-6.el9.noarch	Free IP geolocation city database
 geolite2-country-20191217-6.el9.noarch	Free IP geolocation country database
 ipcalc-1.0.0-5.el9.x86_64	IP network address calculator
继续更改? [N/y] y


 * 正在队列中等待... 
 * 正在等待认证... 
 * 正在队列中等待... 
 * 正在下载软件包... 
 * 正在请求数据... 
 * 正在测试更改... 
 * 正在安装软件包... 
grep: /etc/sysconfig/network-scripts/ifcfg-*: No such file or directory
grep: /etc/sysconfig/network-scripts/ifcfg-*: No such file or directory
grep: /etc/sysconfig/network-scripts/ifcfg-*: No such file or directory
grep: /etc/sysconfig/network-scripts/ifcfg-*: No such file or directory
grep: /etc/sysconfig/network-scripts/ifcfg-*: No such file or directory
grep: /etc/sysconfig/network-scripts/ifcfg-*: No such file or directory

# 重启
[root@kvm-server ~]# systemctl restart NetworkManager.service
[root@kvm-server ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:0b:a3:ba brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 192.168.226.149/24 brd 192.168.226.255 scope global dynamic noprefixroute ens33
       valid_lft 1790sec preferred_lft 1790sec
    inet6 fe80::20c:29ff:fe0b:a3ba/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:e9:d1:84 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
19: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:0b:a3:c4 brd ff:ff:ff:ff:ff:ff
    altname enp2s5
    inet 192.168.226.150/24 brd 192.168.226.255 scope global dynamic ens37
       valid_lft 1827sec preferred_lft 1827sec

 启动虚拟机

 

二. 命令行形式添加设备 

 

将上面添加的设备删除,进行下述实验。

 

方式一: 

创建空的磁盘文件,这里我创建一个10G的磁盘

[root@kvm-server ~]# qemu-img create -f qcow2 /var/lib/libvirt/images/vm4-1.qcow2 10G

修改要添加的虚拟机的配置文件

[root@kvm-server ~]# vim /etc/libvirt/qemu/vm10.xml

 定义一个新的虚拟机域(也称为虚拟机配置)

[root@kvm-server ~]# virsh define /etc/libvirt/qemu/vm10.xml
从 vm10 定义的域 '/etc/libvirt/qemu/vm10.xml'

 登录查看

[root@kvm-server ~]# virsh list --all
 Id   名称   状态
-------------------
 -    vm10   关闭

[root@kvm-server ~]# virsh start vm10
域 'vm10' 已启动

[root@kvm-server ~]# virsh console vm10
连接到域 'vm10'
转义字符是 ^] (Ctrl + ])

localhost login: root
Password: 
Last login: Tue Aug  6 22:19:36 on ttyS0
[root@localhost ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sr0          11:0    1 1024M  0 rom  
vda         252:0    0    5G  0 disk 
├─vda1      252:1    0    1G  0 part /boot
└─vda2      252:2    0    4G  0 part 
  ├─rl-root 253:0    0  3.5G  0 lvm  /
  └─rl-swap 253:1    0  512M  0 lvm  [SWAP]
vdb         252:16   0   10G  0 disk 

方式二:

将虚拟机关机

[root@kvm-server ~]# virsh shutdown vm10

 创建空的磁盘文件,这里我创建一个20G的磁盘

[root@kvm-server ~]# qemu-img create -f qcow2 /var/lib/libvirt/images/vm11-1.img 20G

 添加磁盘

[root@kvm-server ~]# virsh attach-disk vm10 /var/lib/libvirt/images/vm11-1.img vdd --driver qemu --subdriver qcow2 --config

查看信息

[root@kvm-server ~]# virsh domblklist vm10
 目标   源
---------------------------------------------
 vda    /var/lib/libvirt/images/vm10.img
 vdb    /var/lib/libvirt/images/vm4-1.qcow2
 vdd    /var/lib/libvirt/images/vm11-1.img
 sda    -

 

磁盘格式raw和qcow2

 

raw格式

 

  • 简介: raw格式是一种最基本的磁盘镜像格式,它是将整个磁盘内容作为一整块数据存储,不做任何额外的压缩或转换。
  • 特点:
    • 简单性: raw格式非常简单,直接映射到物理设备或者作为一个文件存储。
    • 性能: 由于不涉及额外的处理,raw格式通常提供了比较好的性能。
    • 兼容性: 原生支持各种操作系统和虚拟化平台。

 

qcow2格式

 

  • 简介: qcow2是QEMU的一种磁盘镜像格式,它在raw格式的基础上引入了一些高级功能。
  • 特点:
    • 支持快照: qcow2格式支持虚拟机的快照功能,可以方便地创建和管理虚拟机的快照。
    • 压缩: qcow2可以选择性地进行数据压缩,可以节省存储空间。
    • 动态增长: qcow2格式支持动态增长,即磁盘空间根据需要逐步增加,而不是一开始就占用整个空间。
    • 缓存支持: qcow2支持缓存,可以提高性能。
    • 加密: qcow2还支持数据加密,可以增强数据的安全性。

 

如何选择

  • 性能需求: 如果对性能有较高要求,或者需要直接访问裸设备,可以选择raw格式。
  • 功能需求: 如果需要快照功能、动态增长、压缩或者加密,应选择qcow2格式。
  • 平台支持: qcow2格式在虚拟化平台(如QEMU/KVM)中有更广泛的支持,但raw格式更通用并且可以在各种平台上使用。

 

挂载磁盘 

 

将vm10虚拟机先关闭 

[root@kvm-server ~]# virsh shutdown vm10

查看vm10的磁盘镜像分区信息:

# 如果没有这个命令,会提示你下载,输入y同意即可。
[root@kvm-server ~]# virt-df -h -d vm10
文件系统                            大小 已用空间 可用空间 使用百分比%
vm10:/dev/sda1                            960M       154M       806M   17%
vm10:/dev/rl/root                         3.4G       1.1G       2.3G   33%

创建一个挂载目录

[root@kvm-server ~]# mkdir /test

 挂载虚拟机的 / 分区到test目录

[root@kvm-server ~]# guestmount -d vm10 -m /dev/rl/root --rw /test/

查看

[root@kvm-server ~]# ll /test/
总用量 16
dr-xr-xr-x.  2 root root    6  5月 16  2022 afs
lrwxrwxrwx.  1 root root    7  5月 16  2022 bin -> usr/bin
drwxr-xr-x.  2 root root    6  8月  6 17:40 boot
drwxr-xr-x.  2 root root    6  8月  6 17:40 dev
drwxr-xr-x. 77 root root 8192  8月  6 23:51 etc
drwxr-xr-x.  2 root root    6  5月 16  2022 home
lrwxrwxrwx.  1 root root    7  5月 16  2022 lib -> usr/lib
lrwxrwxrwx.  1 root root    9  5月 16  2022 lib64 -> usr/lib64
drwxr-xr-x.  2 root root    6  5月 16  2022 media
drwxr-xr-x.  2 root root    6  5月 16  2022 mnt
drwxr-xr-x.  2 root root    6  5月 16  2022 opt
drwxr-xr-x.  2 root root    6  8月  6 17:40 proc
dr-xr-x---.  3 root root  147  8月  6 17:50 root
drwxr-xr-x.  2 root root    6  8月  6 17:40 run
lrwxrwxrwx.  1 root root    8  5月 16  2022 sbin -> usr/sbin
drwxr-xr-x.  2 root root    6  5月 16  2022 srv
drwxr-xr-x.  2 root root    6  8月  6 17:40 sys
drwxrwxrwt.  6 root root   75  8月  7 00:11 tmp
drwxr-xr-x. 12 root root  144  8月  6 17:40 usr
drwxr-xr-x. 19 root root 4096  8月  6 17:47 var
[root@kvm-server ~]# cd /test/
# chroot命令将当前进程的根目录(/)设置为指定的目录(这里是.,即当前目录)。
[root@kvm-server test]# chroot .

切换 根( / )

[root@kvm-server /]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
tss:x:59:59:Account used for TPM access:/:/usr/sbin/nologin
sssd:x:998:996:User for sssd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/usr/share/empty.sshd:/usr/sbin/nologin
chrony:x:997:995:chrony system user:/var/lib/chrony:/sbin/nologin

退出来

[root@kvm-server /]# exit
exit
[root@kvm-server test]# 

取消挂载

[root@kvm-server test]# cd
[root@kvm-server ~]# guestunmount /test
[root@kvm-server ~]# ll /test/
总用量 0
[root@kvm-server ~]# 
  • 14
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZZDICT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值