KVM部署踩坑(二)用virt-manager创建虚拟机
统一命名
我的电脑装的是windows10
vmware里的虚拟机叫KVM1
KVM1里装虚拟机vm1
接(一)篇在虚拟机上建虚拟机,我先在vmware里给虚拟机添加了一块80G的硬盘,通过VMare Tools拖拽进去了CentOs7.iso ,然后用vmware然后打开virt-manager新建虚拟机,设置完成后点finsh报错:
no bootable device
引导显示:could not read from cdrom code(0007)
查阅了网上的解决方案后发现他们都是报code(0004),果然当我添加boot=cdrom,bus=virtio,把cdrom优先于disk后并没有什么用。
于是我换了一种方法使用virt-install,
# qemu-img create -f qcow2 vm1-disk1.qcow2 10G
# virt-install \
--name=vm1 \
--disk path=/vm/vm1-disk1.qcow2 \
--vcpus=1 --ram=1024 \
--cdrom=/iso/CentOS-7-x86_64-DVD-1908.iso \
--network network=default \
--graphics vnc,listen=0.0.0.0 \
--os-type=linux
跟用virt-manager一样,还是同样的报错。cdrom就是读不出来,这个镜像是我安装KVM1的镜像,绝对是没问题的,设置了半天也没弄明白,于是我就把KVM1的80G硬盘卸了,发现gnome,yum什么东西都没了,root/下的东西被我一起删了,只好删掉了KVM1,重新再来。
添加硬盘
选择SCSI类型 ,大小80G,一路下一步。
分区
fdisk -l
可以看到80G的磁盘已经加上了,没显示的是在虚拟机开机状态下添加的,可以关机重启。
fdisk /dev/sdb
p是查看的意思
n是新建一个分区,p表示主分区,其他默认
t是转换分区类型,我需要Linux LVM
8e
w写入
pvcreate命令 用于将物理硬盘分区初始化为物理卷,以便LVM使用
vgcreate命令 用于创建LVM卷组,建一个叫vmvg,vgscan可以查看
建一个LVM逻辑卷叫lvvm1,把上面free PE的20479用了
创建ext4文件系统
设置mount点
fstab修改:在最后一行加上
/dev/vmvg/lvvm1 /vm ext4 defaults 0 0
看一下vm,80G,OK
把iso从windows上传到KVM1里
我这个CentOS版本好像自带openssh-server,先改配置
vim /etc/ssh/sshd_config
ssh使用22端口
我是root连接
PermitRootLogin yes
开启ssh服务
/bin/systemctl start sshd.service
设置自启动,这个上回就练过了
systemctl enable sshd.service
然后在windows上下个WinSCP ——————WinSCP下载
一路next安装,打开后文件协议选SFTP,主机名就是KVM1的ip地址,端口号22
用户名密码就是root的
在左边选中iso文件,点上传
用virt-manager安装
virt-manager
选iso安装,第一次进去只有默认的存储池,点左下角小加号,起名iso,找到放centos7镜像的位置,选择卷。
这里提示我只有4.3G可用,我就去vmware里给KVM1的一号硬盘扩容到40G,具体见大佬的Tse先生关于Centos7硬盘扩容,结果扩充完回来一看还是4.3G available,不管他直接选,因为上次我选自定义存储把虚拟机都玩废了。
安装成功
当然我们80G的硬盘没用上,因为这次主要是先排除镜像的问题,能安装成功说明问题可能出在刚才虚拟机启动存储那里或者cdrom总线之类,下章再实验。
问题
后来有一次由于我把两个虚拟机安装到同一个磁盘镜像上了,导致两个虚拟机都处于未安装的状态。