linux012虚拟机安装
虚拟机操作
kvm 核心组件 要求cpu支持全虚拟化功能
查看cpu信息
cat /proc/cpuinfo
也有svm
qemu-img 管理虚拟机存储
qemu-kvm 核心组建
一 下面进行安装虚拟机操作
iso通过镜像
HTTP通过网络
PXE网络安装环境(插网线装)
import 时导入步骤(已经安装好的虚拟机)
现在选择第一个 iso
至少给768M内存才能开启图形界面 内存和cpu缓存是存储设备
硬盘是 io设备 安装图形界面不能少于5G
名字不能包含空格
ctrl+alt 可以显示出鼠标 (在虚拟机安装界面当中)
安装过程的系统是预安装系统的环境
第一个安装
二 检测完整性再安装
三 挽救模式
一般选择英文 中文翻译有出入
minimal install 最简安装无图形界面
server with GUI 带图形界面的服务器
三个virt...是带有虚拟机的服务 虚拟机不用选
自动、手动分区
选择standard partition 标准分区
左下角有+-号 选择+号 添加分区
/boot 启动 200M就行
swap 虚拟交换分区 作为内存交换空间 (鼠标动不了之类的是该区空间已经满了)
swap一般是物理内存1.5-2-4倍 内存越大 业务越多 一般
可以给500m
(/dev/shm 内存所在位置)
/分区 不能小于4G 如果不写多少空间 就把剩余的空间全给了
然后在 最小安装下寻则图形界面安装 不是非图形界面
kdump 是备份 现在还不作
安装过程中要设定root用户密码
然后可以正常使用了
二 下面建立自动创建虚拟机的脚本
脚本结尾后加& 在后台运行
出现没用的字符 加入重定向 &> /dev/null 再加 &打入后台
建立 sss.sh
输入
#!/bin/bash
virt-install \ 虚拟机安装命令
--cdrom /home/kiosk/Desktop/rhel-server-7.2-x86_64-dvd.iso \ 镜像地址
--vcpus 1 \ cpu操作
--memory 1000 \ 分配内存
--disk /var/lib/libvirt/images/$1.qcow2,size=9,bus=virtio \ 设置生成的qcow2数据包 大小 和总线为虚拟
--name $1 \ 自己输入名字
--network source=br0,model=virtio &> /dev/null & 网卡设置 还有网卡类型是虚拟的 重定向 打入后台
\是换行 不影响语句连接 $1 是在运行脚本时输入你想要的名字
以上是可以命名的一个shell 用法 sh sss.sh 当前目录下的shell
加上你想要的虚拟机名字就可以
或者绝对路径就不用加 sh 直接运行脚本 要修改和执行需要给权限 chmod 777 或者 +x
虚拟机管理
virt-manager 呼唤虚拟机操控界面
virt-viewer XXX 查看虚拟机
virsh start XXX 开启虚拟机
virsh shutdown XXX 正常关闭虚拟机
virsh destroy XXX 强制关闭虚拟机
virsh list 列出运行的虚拟机
virsh list --all 列出所有虚拟机
如何将一台虚拟机拷贝
首先明确有多少文件
html 超文本编辑语言
xml 可扩展编辑语言
数据封装
.qcow2 是所有虚拟机系统文件
将.xml .qcow2 考进去就可以 不建议拷贝到/etc/libvirt/qemu/和/var/lib/libvirt/images/下 操作会删掉
然后 virsh create XX.xml
virsh define XX.xml 恢复删除的硬件管理(添加文件到了/../qemu/下)
virsh undefine XX(没有.xml) 只是删除硬件管理(它删掉了/../qemu/下的XX.xml) 虚拟机文件还在
如果你想拷贝别人的虚拟机
将对应的文件放到对应的位置
scp [email protected]:/var/lib/libvirt/images/SSS.qcow2 /var/lib/libvirt/images/
scp [email protected]:/etc/libvirt/qemu/SSS.xml /etc/libvirt/qemu/
然后就可以直接virsh create SSS.xml SSS为你想要拷贝的虚拟机
镜像文件
qemu-img create -f qcow2 -b /var/lib/libvirt/images/X.qcow2 /var/lib/libvirt/images/XX.qcow2
将 X 镜像为XX 的数据封装文件 但是XX 实际大小很小 虽然显示的大小和X 一样
下面是脚本 明白原理后直接用脚本进行操作是我们的最终目的
#!/bin/bash
qemu-img create -f qcow2 \
-b /var/lib/libvirt/images/XXX.qcow2 \
/var/lib/libvirt/images/node1.qcow2
virt-install \
--name node1 \
--ram 1024 \ #内存另一种写法
--vcpus 1 \
--network source=br0,model=virtio \
--disk /var/lib/libvirt/images/node1.qcow2,bus=virtio \
--import &> /dev/null & #导入并且打入后台
该内容只能一次
下面
#!/bin/bash
qemu-img create -f qcow2 \
-b /var/lib/libvirt/images/$1.qcow2 \
/var/lib/libvirt/images/$2.qcow2 &> /dev/null #不显示信息重定向
virt-install \
--name $2 \
--ram 1024 \ #内存另一种写法
--vcpus 1 \
--network source=br0,model=virtio \
--disk /var/lib/libvirt/images/$2.qcow2,bus=virtio \
--import &> /dev/null & #导入并且打入后台
这下可以了
避免删注释
#!/bin/bash
qemu-img create -f qcow2 \
-b /var/lib/libvirt/images/$1.qcow2 \
/var/lib/libvirt/images/$2.qcow2
virt-install \
--name $2 \
--ram 1024 \
--vcpus 1 \
--network source=br0,model=virtio \
--disk /var/lib/libvirt/images/$2.qcow2,bus=virtio \
--import &> /dev/null &
用命令彻底删除一个虚拟机
1 virsh destroy XX
2 virsh undefinde XX
3 rm -fr var/lib/libvirt/images/X.qcow2
这样才能释放真正的空间