Deepin_kvm虛擬機群部署


1. 概述

本篇博客主要講述在Deepin系統上使用KVM虛擬化環境部署虛擬化集群來完成個人的運維實踐平台項目:Promethues。

之前是在win10系統下使用vmware workstation作為虛擬化平台,暫時擱淺...

2. kvm虛擬化環境

2.1 安裝kvm依賴環境

Deepin上安裝kvm環境很簡單,命令行執行:
sudo apt-get install qemu qemu-kvm virt-manager ,libvirtd服務會自動啟動和開機啟動。

2.1 配置虛擬化網絡

與win10平台使用vmware workstation來完成該項目不同的是,Deepin系統上使用libvirtd提供的虛擬化服務時,需要使用其提供的nat網絡。
默認的虛擬網絡類型已經是nat模式,叫做default。default是不隨着libvirtd服務啟動的,執行命令:
virsh net-auotstart default,設置default隨着libvirtd服務啟動。libvirtd服務同時提供了dnsmasq的輕量級DHCP和DNS服務。

本篇博客僅僅使用其DHCP服務,通過給虛擬機分配固定的MAC地址來實現固定IP的目的。

具體操作如下:

2.1.1 修改default.xml

一般不建議直接修改該文件,但是你修改這個文件,也不一定會有什么問題。
Deepin系統上,使用終端切換到root用戶。

編輯配置文件:vim /etc/libvirt/qemu/networks/autostart/default.xml
修改內容如下:

	<mac address='00:00:00:80:00:01'/>
	<ip address='192.168.80.1' netmask='255.255.255.0'/>
	<dhcp>
	  <rang start='192.168.80.11' end='192.168.80.99'>
	  <host mac='00:00:00:80:00:11' ip='192.168.80.11' name='node11'/>
	  <host mac='00:00:00:80:00:12' ip='192.168.80.12' name='node12'/>
	  <host mac='00:00:00:80:00:13' ip='192.168.80.13' name='node13'/>
			....這里省略...
	  <host mac='00:00:00:80:00:99' ip='192.168.80.99' name='node99'/>
	</dhcp>

本人在修改該配置文件時,使用了for循環批量生產了配置,然后通過vim粘貼進去。

修改了default.xml之后,需要執行systemctl restart libvirtd生效

上述的過程完成之后,就可以為虛擬機固定IP打下第一個基礎了。

2.1.2 創建模板虛擬機

通過virt-manager創建一個模板虛擬機。

注:如果不適用virt-manager來安裝,可以用命令行virt-install命令指定參數安裝,本篇博客先跳過此部分內容。

本人選擇的是centos7最小化安裝的鏡像(阿里雲的源應該可以找到)。
安裝操作系統的過程這里不表,這里主要說明一下本人的習慣細節:

  1. 模板虛擬機命名為base
  2. CPU指定為4核心,2槽2核心1線程,內存為1024M
  3. 分配了10G的磁盤空間
  4. 自定義分區/boot 256M,其他給根分區,選擇xfs文件系統
  5. 不要忘記設置root密碼

一頓操作之后,模板虛擬機base出爐。

3. 初始化模板虛擬機

Deepin終端執行virsh start base,將模板虛擬機開機之后,ssh base即可輸入密碼登錄虛擬機(我的base也是node99,/etc/hosts里面一個IP可以對應多個主機名)

注:deepin終端執行for i in \((seq 11 99);do echo "192.168.80.\)i node$i" >> /etc/hosts; done

然后將初始化腳步run_me拷貝到base節點上並執行。

我的run_me初始化腳本內容如下:


#!/bin/bash

#安裝依賴
yum -y install \
	epel-release \

yum repolist 

yum -y install \
	vim net-tools lsof wget tree psmisc pciutils\
	gcc gcc-c++ automake autoconf \
	strace dstat nmap tcpdump \
	nfs-utils sssd \
	openldap openldap-servers openldap-clients compat-openldap openldap-devel openldap-servers-sql \

yum -y install atop htop mytop \


#關閉服務
systemctl disable firewalld
systemctl disable postfix

#禁用selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

#修改ssh服務
sed -i 's/\#UseDNS\ yes/UseDNS\ no/g' /etc/ssh/sshd_config
sed -i 's/\#PrintLastLog\ yes/PrintLastLog\ no/g' /etc/ssh/sshd_config

echo "        StrictHostKeyChecking no" >> /etc/ssh/ssh_config
echo "        UserKnownhostsFile /dev/null" >> /etc/ssh/ssh_config
echo "        LogLevel quiet" >> /etc/ssh/ssh_config

#創建host
for i in $(seq 11 99)
do
	echo "192.168.80.$i    node$i" >> /etc/hosts
done

#生成秘鑰
ssh-keygen -t rsa -P "" -f /root/.ssh/id_rsa
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys && chmod 600 /root/.ssh/authorized_keys

#修改啟動選項,不延遲,禁用ipv6
sed -i 's/GRUB_TIMEOUT=5/GRUB_TIMEOUT=0/g' /etc/default/grub
sed -i 's/quiet/quiet\ ipv6.disable=1/g' /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg

#啟用virsh console登錄虛擬機
systemctl enable serial-getty@ttyS0.service

完成上面的操作,模板虛擬機base就可以關機了,作為以后要創建的虛擬機的模板備用。
此后便可以通過virt-clone快速創建虛擬機使用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM