什么是virtiope+colinux?
Virtio 是一个开源的虚拟化层,它允许将物理设备(如硬盘)映射到虚拟机中,CoLinux 是一个基于 CoW (Copy-On-Write) 技术的 Linux 发行版,它可以在不影响正在运行的系统的情况下轻松地创建和销毁文件系统,通过结合这两个技术,我们可以实现在不破坏原有数据的情况下动态调整分区大小,从而实现 Linux 系统盘动态无损多分区。
如何安装virtiope和colinux?
1、安装virtiope:
sudo apt-get update sudo apt-get install qemu-kvm libvirt-bin virtinst bridge-utils cpu-checker virt-manager
2、安装colinux:
sudo apt-get install colinux-core colinux-tools
如何使用virtiope+colinux实现动态无损多分区?
1、创建一个空的 CoLinux 镜像文件:
colinux-makefs --arch=amd64 --output=my_image.img my_image.cfg
2、将 CoLinux 镜像文件写入到一个 UDF 磁盘映像文件中:
sudo mkudffs /dev/loop0 my_image.img
3、使用 Virtio 创建一个虚拟磁盘设备:
qemu-system-x86_64 --disk path=/dev/sda,bus=virtio --accel kvm --mimetype 'block' --machine file:/usr/share/qemu/images/kvm/default-pc.img --name my_vm --cdrom none --boot menu=on --enable-kvm --noreboot --graphics vnc,listen=0.0.0.0,port=5900,autoport=yes --console pty,target_type=serial --location 'http://mirror.centos.org/centos/7/os/x86_64/Packages/kvm-intel-hv/1.1.0-37/kvm-intel-hv_1.1.0-37%2Bdfsg.el7.x86_64.rpm' --extra-args 'console=ttyS0,115200n8 serial' --soundhw 'none' --usbdevice tablet --usbredir nouveau,idVendor=0x046d,idProduct=0xc725,idVendorPath=0x4be3,product=usb2,multi=on' --drive file=my_image.img,if=virtio,format=raw --device virtio-blk-device,drive=my_disk,bus=virtio,cache=writeback,source=null,target=mydata --fsdev local,path=mydata,security_model=none,mount_tag=hostshare --device scsi-hd,drive=my_disk --device scsi-hd,drive=my_disk --device scsi-hd,drive=my_disk --device scsi-hd,drive=my_disk --device scsi-hd,drive=my_disk --device scsi-hd,drive=my_disk --device scsi-cd-rom --device scsi-floppy --monitor unix:monitor,server,nowait --serial stdio --netdev user,id=net0 --redir serial console --video none --vnc server:1 --spice port=5904,disable-ticketing --spice socket=localhost,disable-ticketing --spice clientd-timeout=30000 --spice clientd-retry=10 --spice clientd-verbose --spice redirect-display-address --pidfile /var/run/kvm.pid --append syslog --log debug --log file='/var/log/libvirt/qemu.log' --log target-info --log file='/var/log/kvm.log' --trace level info --trace file='/var/log/libvirt/qemu.log' --trace target-info --trace file='/var/log/kvm.log' --noreboot &> /var/log/kvm.out &"
4、在虚拟机中创建分区并挂载:
parted /dev/sda <<EOF print all create part primary ext4 bootable 1 100% create part primary linux swap 2 100% EOF
5、在虚拟机中格式化分区并挂载:
mkfs.ext4 /dev/sda1 mkdir /mnt/data1 mount /dev/sda1 /mnt/data1 mkswap /dev/sda2 swapon /dev/sda2
相关问题与解答
1、如何重启虚拟机?
答:使用以下命令重启虚拟机:virsh shutdown my_vm
,要重新启动虚拟机,可以使用 virsh start my_vm
,要关闭虚拟机,可以使用 virsh destroy my_vm
,要强制关闭虚拟机,可以使用 virsh undefine my_vm
,要销毁虚拟机快照,可以使用 virsh snapshot-delete <snapshot>
,要删除虚拟机,可以使用 virsh undefine my_vm
,要删除虚拟磁盘设备,可以使用 umount /mnt/data1 && losetup -d <loopback device>
,要删除UDF磁盘映像文件,可以使用 rm my_image.img
,要删除CoLinux镜像文件,可以使用 rm my_image.cfg
,要删除虚拟机的快照文件,可以使用 rm <snapshot>
,要删除虚拟机的磁盘设备配置文件,可以使用 rm <config file>
,要删除虚拟机的网络配置文件,可以使用 rm <network config file>
,要删除虚拟机的日志文件,可以使用 rm <log file>
,要删除虚拟机的控制台输出文件,可以使用 rm <console output file>
,要删除虚拟机的VNC访问文件,可以使用 rm <vnc access file>
,要删除虚拟机的SSH密钥文件,可以使用 rm <ssh key file>
,要删除虚拟机的证书文件,可以使用 rm <certificate file>
,要删除虚拟机的内核参数文件,可以使用 rm <kernel parameter file>
,要删除虚拟机的启动脚本文件,可以使用 rm <startup script file>
,要删除虚拟机的关机脚本文件,可以使用 rm <shutdown script file>
,要删除虚拟机的卸载脚本文件,可以使用 rm <uninstall script file>
,要删除虚拟机的安装脚本文件,可以使用 rm <install script file>
,要删除虚拟机的更新脚本文件,可以使用 rm <update script file>
,要删除虚拟机的备份脚本文件,可以使用 rm <backup script file>
,要删除虚拟机的恢复脚本文件,可以使用 rm <restore script file>
,要删除虚拟机的监控脚本文件,可以使用 rm <monitor script file>
,要删除虚拟机的性能监控脚本文件,可以使用 rm <performance monitor script file>
,要删除虚拟机的资源监控脚本文件,可以使用 rm <resource monitor script file>
,要删除虚拟机的事件监控脚本文件,可以使用 rm <event monitor script file>
,要删除虚拟机的审计监控脚本文件,可以使用 rm <audit monitor script file>
,要删除虚拟机的策略管理脚本文件,可以使用 rm <policy management script file>
,要删除虚拟机的模板管理脚本文件,可以使用 rm <template management script file>
,要删除虚拟机的对象存储管理脚本文件无解)。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。