kvm 创建虚拟机

kvm kvm 创建虚拟机

背景

公司的测试k8s集群需要扩容,原本两台物理机,磁盘读写io负载很高,io只要涨上来,问题就都来了。
所以为了分摊磁盘读写的压力,决定在多个宿主机上通过kvm创建多个虚拟机作为node节点分摊数据的读写。

镜像下载

我这里根据公司要求,下载的是centos7.9,所以下面以centos7.9为例

阿里云镜像下载地址跳转

# 也可以直接下载
mkdir -p /data/kvm/iso
cd /data/kvm/iso
wget https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-Minimal-2207-02.iso

创建虚拟机

# 登陆宿主机,使用virt-install 创建虚拟机
virt-install -n test-kubernetes-node01-8.74 --vcpus 8 -r 32768 --disk /data/kvm/image/test-kubernetes-node01-sys.qcow2,size=50 --disk /data/kvm/image/test-kubernetes-node01-data.qcow2,size=500  --location /data/kvm/iso/CentOS-7-x86_64-Minimal-2207-02.iso   --nographics --network bridge=br80 -os-type linux --os-variant rhel7 --console pty,target_type=serial  --extra-args 'console=ttyS0,115200n8 serial'


# 命令详解
	-n test-kubernetes-node01-8.74 # 指定宿主机名称为test-kubernetes-node01-8.74
	--vcpus 8 # 指定虚拟机8核
	-r 32768 # 指定虚拟机32G内存 32*1024
	--disk /data/kvm/image/test-kubernetes-node01-sys.qcow2,size=50 # 为虚拟机初始化一块系统盘,50G,当然,他也可以通过  qemu-img 提前创建,执行命令这里改成 --disk /data/kvm/image/test-kubernetes-node01-sys.qcow2 
	--disk /data/kvm/image/test-kubernetes-node01-data.qcow2,size=500 # 为虚拟机初始化一块数据盘,500G, 
	-location /data/kvm/iso/CentOS-7-x86_64-Minimal-2207-02.iso   # 指定刚才下载的镜像地址
	--nographics 	# 不调用图形化界面
	--network bridge=br80  # 指定网桥,kvm有网桥和nat两种网络模式,网桥可以通过 brctl show 命令查看 
	-os-type linux # 操作系统类型
	--os-variant rhel7  # 操作系统版本
	--console pty,target_type=serial   # console控制通道
	--extra-args 'console=ttyS0,115200n8 serial'  # 文本输出

执行后会进入设置选项:

带 [!] 的是必须要设置的, [x] 是可选地 []也是可选的
各选项含义如下:
1)语言设置 2)时区设置 3)安装源 4)软件包选择
5)系统分区 6)Kdump功能 7)网络配置 8)密码设置
9)创建用户
按“q”退出,按“b”开始安装。必须把带“!”号的都设置好才能开始安装

  • 时区 依次输入2->1->2->回车->65
  • 分盘 5>1>c>1>c # 根据实际情况查看
  • 密码 8->密码->密码->yes
    最后按b安装

修改虚拟机网卡

virsh console xxxx

vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static         #更改:此处更改为静态IP
ONBOOT=yes    #更改:此处更改成开机自启动
IPADDR=192.168.8.74    #添加:需要和你绑定的网桥在同一网段,我宿主机的网桥是192.168.8.0/24网段,宿主机的ip是 192.168.122.167
NETMASK=255.255.255.0    #添加:掩码
GATEWAY=192.168.8.1    #添加:网桥就是网关?我认为是这样,毕竟br80绑定了物理网卡 192.168.8.0/24
DNS1=8.8.8.8             #添加dns

# 修改selinuxconf
vi /etc/selinux/config
SELINUX=disabled

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

删除虚拟机

virsh list --all   # 查看所有虚拟机
virsh console test-kubernetes-node01-8.74   # 进入虚拟机
ctrl + D # 退出后按 shieft + ]  
virsh shutdown test-kubernetes-node01-8.74 # 关机
virsh destroy test-kubernetes-node01-8.74 # 强制关机
virsh undefine test-kubernetes-node01-8.74  # 删除虚拟机
rm -f /data/kvm/image/test-kubernetes-node01-sys.qcow2 /data/kvm/image/test-kubernetes-node01-data.qcow2    # 删除我们初始化的盘,如果我们新建的话这里一定删除,因为不删除新建虚拟机读的还是旧的盘
virsh autostart xxx #设置宿主机开机时该虚拟机也开机
virsh autostart --disable xxx #解除开机启动
virsh reboot ***  # 重启虚拟机
posted @ 2024-05-28 11:38  liwenchao1995  阅读(40)  评论(0编辑  收藏  举报