首先,通过现有的vm1「在上篇文章 使用KVM创建OEL虚拟机 已创建」克隆出一个vm,名字叫做db1,然后修改一些配置,使其更适用于Oracle DB的主机。
1.通过克隆vm1生成db1
克隆一个VM,以vm1为模版克隆db1:
--clone vm:
# virsh suspend vm1
# virt-clone \
--connect qemu:///system \
--original vm1 \
--name db1 \
--file /flash/vm-images/db1.img
# virsh resume vm1
# virsh start db1
2.解决virsh console db1 卡住问题
使用virt-manager图形进入终端,修改IP地址之后就可以ssh连接IP地址登陆了,再来配置解决virsh console db1 问题;
1)在 /etc/securetty 文件尾部追加内容:
echo ttyS0 >> /etc/securetty
2)在 /etc/inittab 文件尾部追加内容:
echo "S0:12345:respawn:/sbin/agetty/ ttyS0 115200" >> /etc/inittab
3)修改 /etc/grub2.cfg
在指定位置后添加console=ttyS0,具体在系统内核版本这里:
[root@localhost ~]# uname -a
Linux localhost 5.4.17-2102.201.3.el7uek.x86_64 #2 SMP Fri Apr 23 09:05:55 PDT 2021 x86_64 x86_64 x86_64 GNU/Linux
100 linux16 /vmlinuz-5.4.17-2102.201.3.el7uek.x86_64 root=/dev/mapper/ol-root ro rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet LANG=en_US.UTF-8
101 initrd16 /initramfs-5.4.17-2102.201.3.el7uek.x86_64.img
--在第100行这里修改添加“console=ttyS0”,示例如下:
100 linux16 /vmlinuz-5.4.17-2102.201.3.el7uek.x86_64 root=/dev/mapper/ol-root ro rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet console=ttyS0 LANG=en_US.UTF-8
101 initrd16 /initramfs-5.4.17-2102.201.3.el7uek.x86_64.img
重启之后再次执行virsh console db1,回车后输入账号密码登录,如果要退出执行 Ctrl+]
[root@bogon ~]# virsh console db1
连接到域 db1
换码符为 ^]
Oracle Linux Server 7.9
Kernel 5.4.17-2102.201.3.el7uek.x86_64 on an x86_64
localhost login: root
Password:
Last login: Sat Jan 7 23:38:36 on ttyS0
[root@localhost ~]#
[root@bogon ~]#
[root@bogon ~]# virsh console db1
连接到域 db1
换码符为 ^]
[root@localhost ~]#
测试执行virsh console db1,回车后输入账号密码登录,退出执行 Ctrl+]
退出,此时再次执行virsh console db1,回车后甚至都无需再次输入密码。
已达成期望效果。
3.修改配置 CPU、内存、磁盘大小
需求是将db1的VM修改为:4 vcpu,16GB,100GB存储;db1当前配置:
[root@bogon ~]# virsh dominfo db1
Id: 7
名称: db1
UUID: 43e26717-973d-44f8-8dfb-1a3bd7e5b04f
OS 类型: hvm
状态: running
CPU: 2
CPU 时间: 184.7s
最大内存: 2097152 KiB
使用的内存: 2097152 KiB
持久: 是
自动启动: 禁用
管理的保存: 否
安全性模式: selinux
安全性 DOI: 0
安全性标签: system_u:system_r:svirt_t:s0:c532,c921 (enforcing)
下面开始修改:
1)先创建一个100GB的文件:
# dd if=/dev/zero of=/flash/vm-images/db1-lun1.img bs=1M count=102400
[root@bogon qemu]# dd if=/dev/zero of=/flash/vm-images/db1-lun1.img bs=1M count=102400
记录了102400+0 的读入
记录了102400+0 的写出
107374182400字节(107 GB)已复制,279.12 秒,385 MB/秒
```shell
2)关闭vm修改其配置文件,调整VCPU为4,最大内存为16G,增加一块100GB的磁盘:
```shell
# virsh shutdown db1
# virsh edit db1
--修改CPU:
<vcpu placement='static'>4</vcpu>
--修改最大内存:
<memory unit='KiB'>16777216</memory>
--原有磁盘内容不变:
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/flash/vm-images/db1.img'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>
--仿照原有格式,增加内容,主要修改文件路径、设备名称、slot位置,还有设备类型为raw,其他不变:(注意这里slot的0x08也被用了,所以改为0x10)
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/flash/vm-images/db1-lun1.img'/>
<target dev='vdb' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x10' function='0x0'/>
</disk>
# virsh create /etc/libvirt/qemu/db1.xml
# virsh dominfo db1
# virsh setmem db1 16777216
修改完成后查看:
[root@bogon qemu]# virsh dominfo db1
Id: 9
名称: db1
UUID: 43e26717-973d-44f8-8dfb-1a3bd7e5b04f
OS 类型: hvm
状态: running
CPU: 4
CPU 时间: 30.1s
最大内存: 16777216 KiB
使用的内存: 16777216 KiB
持久: 是
自动启动: 禁用
管理的保存: 否
安全性模式: selinux
安全性 DOI: 0
安全性标签: system_u:system_r:svirt_t:s0:c565,c897 (enforcing)
4.配置yum源
这个是为了后续安装Oracle时,方便直接yum安装所需包。可以参考之前文章
Linux的yum源配置总结 配置,这里不再赘述。