kvm虚机常用操作
1.修改配置xml配置
vi /etc/libvirt/qemu/dns-run.xml
virsh shutdown dns-run
virsh create /etc/libvirt/qemu/dns-run.xml
2.查看cpu核心数
virsh dominfo dns-run | grep CPU
3.kvm虚机克隆(以飞腾环境为例)
虚机xml配置文件复制
cp LB-server-cc-10e53e15e63.xml dns-server-cc-10e53e15e69.xml
xml修改为修改为,默认网卡的mac地址随便改一个
<nvram>/var/lib/libvirt/qemu/nvram/dns-server-cc-10e53e15e69_VARS.fd</nvram>
<source file='/data/sata-sdb/dns-server-cc-10e53e15e69-sda.qcow2'/>
<source file='/data/sata-sdb/dns-server-cc-10e53e15e69_sdb.qcow2'/>
<source mode='bind' path='/var/lib/libvirt/qemu/dns-server-cc-10e53e15e69.agent'/>
cp LB-server-cc-10e53e15e63_VARS.fd dns-server-cc-10e53e15e69_VARS.fd
cp LB-server-cc-10e53e15e63_sdb.qcow2 dns-server-cc-10e53e15e69_sdb.qcow2
cp LB-server-cc-10e53e15e63-sda.qcow2 dns-server-cc-10e53e15e69-sda.qcow2
virsh define /etc/libvirt/qemu/dns-run-server-cc-10e53e15e69.xml
主机名 网卡0 修改
vi /etc/hostname
4.增加网卡
查看网卡信息
virsh domiflist dns-server-cc-10e53e15e69
virsh attach-interface dns-server-cc-10e53e15e69 --type bridge --source os_manage --model virtio --config
5.增加网卡队列数
<interface type='bridge'>
<mac address='52:54:00:24:2f:98'/>
<source bridge='os_manage'/>
<model type='virtio'/>
<driver queues='4'/>
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</interface>
6.查看镜像大小
qemu-img info dns-run-sda-mini.qcow2
7.镜像压缩 , 超级好用!!!
virt-sparsify --format qcow2 --compress dns-run-sda.qcow2 dns-run-sda-mini.qcow2
8.网卡重启
systemctl restart NetworkManager
ifup eth0
9.kvm修改虚机密码
获取密码的加密结果
openssl passwd -1 -salt 'hello' '123456'
virt-edit -d kvm-name /etc/shadow
# 只需要替换第一行root的密码 root:$1$bTPRDWwf$LpjUZmGTHw.hYFccl0/lK.:16804:0:99999:7:::
更换为 root:$1$hello$ZwmhCpcG.I1XIfVjdarKc1::16804:0:99999:7::
补充:镜像制作
系统自启动脚本
本质就是在 /etc/rc.local 中配置开机自启动的脚本,参考贵州私有云2环境如下:
飞腾虚机配置如下
如上图所示,首先是dns_prestart.sh脚本,该脚本主要功能为启动nginx何fcgi,其次是dns_run.sh deploy 脚本,该脚本在deploy参数下为自动部署功能,最后为 dns_run.sh install_monitor脚本,该脚本主要功能为监控进程情况,如果named进程不在,就启动dns_run.sh start进行拉起。
需要注意的是,我忘记了dns_run.sh deploy的自启动写入,然后named进程无法拉起,观察脚本发现,监控的进程拉起为start参数,是直接读取config.ini,无法注入动态的网络参数,因此需要先走deploy将config.ini配置中的参数正常注入后,monitor脚本才可以发挥正常作用
md5sum dns_10097_arm_ctyunos.qcow2 > dns_10097_arm_ctyunos.qcow2.md5
tar -czvf dns_10097_arm_ctyunos.qcow2.tar.gz dns_10097_arm_ctyunos.qcow2
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统