虚拟磁盘离线访问工具
安装工具:
yum install guestfs guestfs-tools
rpm -qa | grep guestfs
libguestfs-tools-1.40.2-5.el7_7.3.noarch
libguestfs-tools-c-1.40.2-5.el7_7.3.x86_64
libguestfs-1.40.2-5.el7_7.3.x86_64
1.virtinspector 显示os版本、内核、驱动、挂载点、应用等等,很少使用。
virt-inspector -d vmtest01
virt-inspector -a /kvm-vm/vmtest01.qcow2
##参数说明:
-d:指定域名
-a:指定磁盘文件
2.virtcat类似于cat命令
virt-cat -a /kvm-vm/vmtest01.qcow2 /etc/hostname
xxx
##格式参数说明:前面为指定域名或者磁盘文件
后面为查看文件路径
-a:同样为指定磁盘文件
3.vrit-edit命令用于编辑文件
virt-edit -a /kvm-vm/vmtest01.qcow2 /etc/hostname
virt-cat -a /kvm-vm/vmtest01.qcow2 /etc/hostname
aaa
##用法与cat一样,注意在关机状态下使用,否则有可能报错
4.virt-copy复制命令
out用法将虚拟机文件复制到宿主机
virt-copy-out -a /kvm-vm/vmtest01.qcow2 /etc/hostname .
ls
anaconda-ks.cfg hostname Public
in用法将宿主机的文件传入到虚拟机
echo "bbb" > hostname
cat hostname
bbb
virt-copy-in hostname -a /kvm-vm/vmtest01.qcow2 /etc/
virt-cat -a /kvm-vm/vmtest01.qcow2 /etc/hostname
bbb
5.guestfish命令 进入shell界面对虚拟机文件进行操作
guestfish -a /kvm-vm/vmtest01.qcow2 -i --rw
Welcome to guestfish, the guest filesystem shell for
editing virtual machine filesystems and disk images.
Type: ‘help’ for help on commands
‘man’ to read the manual
‘quit’ to quit the shell
Operating system: CentOS Linux release 7.3.1611 (Core)
/dev/cl/root mounted on /
/dev/sda1 mounted on /boot
><fs> cat /etc/hostname
bbb
##部分命令管道符不能使用
6.guestmount命令 将虚拟机挂在到一个目录下
guestmount -i -a /kvm-vm/vmtest01.qcow2 /media/
ls /media/
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
cat /media/etc/hostname
bbb
差异磁盘
优点:标准化基础镜像,节省空间
缺点:增加了开销,较差的性能
创建差异虚拟磁盘:
qemu-img create -f qcow2 \ ##创建qcow2格式磁盘
> -o backing_file=vmtest01.qcow2 \ ##指定父磁盘文件
> cyoa.qcow2 ##差异磁盘名称
方法一:根据虚拟磁盘安装虚拟机(速度较慢)
virt-install --import --name=cyoa \
--vcpus=1 -r=512 \
--disk path=cyoa.qcow2 \
--nographics --os-variant=centos7.0
方法二:修改配置文件(建议使用)
cd /etc/libvirt/qemu/
cp vmtest01.xml cyoa.xml
vim cyoa.xml
cyoa.xml
9 <name>cyoa</name> ##更改虚拟机名称
10 <uuid>a7080d2b-4e84-4b7c-9c2e-e176140d049e</uuid>
##更改uuid 可在命令行用uuidgen生成
51 <source file='/kvm-vm/cyoa.qcow2'/> ##更改源磁盘文件路径
84 <mac address='52:55:00:27:b7:f4'/> ##更改Mac地址
此时使用virsh list --all 是没有新的虚拟机,使用以下命令
virsh define /etc/libvirt/qemu/cyoa.xml
再次使用 virsh list --all
virsh list --all
Id Name State
----------------------------------------------------
- cyoa shut off