下载镜像到指定目录
- 该步骤需要先安装 Docker
-
干净的CentOS7, 安装好后啥都没干的 100%纯净
root 密码 1234
镜像大小 1GB
docker run -it --rm --pull=always -v /data/kvm/vm/test_centos7/disk:/dest registry.cn-hangzhou.aliyuncs.com/lwmacct/file:1657390647-kvm-centos7-minimal-clean-system.qcow2
已完成基本配置的CentOS7.9 (推荐)
root 密码 1234
- 镜像大小 3.232GB
- 下载 centos7 镜像, 该镜像完成基本的环境配置, 基础软件包安装, 内核调优, 以及安装 Docker 相关
- 可以使用
virsh console
直接进入系统
```bashdocker run -it --rm --pull=always -v /data/kvm/vm/test_centos7/disk:/dest registry.cn-hangzhou.aliyuncs.com/lwmacct/file:1657390648-kvm-centos7-minimal-base-system.qcow2
!/usr/bin/env bash
exit
下载 centos7 镜像, 干净的, 安装好后啥都没干的 CentOS7.9 系统,100%纯净
docker run -it —rm —pull=always -v /data/kvm/vm/test_centos7/disk:/dest registry.cn-hangzhou.aliyuncs.com/lwmacct/file:1657390647-kvm-centos7-minimal-clean-system.qcow2
__centos_import() { _name=”test_centos7” virsh destroy “$_name” >/dev/null 2>&1 virsh undefine “$_name” >/dev/null 2>&1 _system_img=”/data/kvm/vm/$_name/disk/system.qcow2” virt-install —name=”$_name” \ —memory=4096 \ —cpu host \ —vcpus $(grep ‘processor’ /proc/cpuinfo | sort -u | wc -l) \ —os-type=linux \ —os-variant=rhel7.9 \ —autostart \ —noautoconsole \ —import \ —disk “$_system_img”,cache=none,bus=sata \ —graphics vnc \ —network network=default,model=virtio
# --network bridge=br-ikuai-lan1,model=virtio,mac=88:c6:66:ea:66:91
} __centos_import
virsh dumpxml test_centos7 | grep -Eo ‘([0-9a-fA-F]{2}[:]){5}([0-9a-fA-F]{2})’ | xargs -I{} echo ‘arp -a | grep “{}”‘ | sh
__install_app() {
# 安装常用软件
# 由于安装 groups base 会升级 3.10.x内核, 所以先把常用软件给装了再升级内核
yum clean all
yum makecache fast
yum -y update
yum groups install base -y
yum install qemu-guest-agent -y
yum -y install \
vim git jq bc tree unzip zip dos2unix sysstat psmisc lsof sshpass expect \
vnstat htop perf dstat glances \
hdparm libaio-devel log4cplus log4cplus-devel lshw ntp xfsprogs-devel \
net-tools bridge-utils nfs-utils telnet lrzsz \
bash-completion bash-completion-extras
systemctl start qemu-guest-agent
systemctl enable qemu-guest-agent
}
__install_app
__kernel_update() {
# 升级内核
#导入公钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
#添加YUM源
yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
#安装更新长期支持版内核
yum install -y --enablerepo=elrepo-kernel kernel-lt kernel-lt-devel
#更新GRUB配置使用新内核启动
#查看配置中的所有内核版本
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
_modify=$(awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg | head -1 | grep "$(uname -r)" -c)
if ((_modify != 1)); then
#设置新内核为默认启动项,默认情况下新内核序号为0
grub2-set-default 0
#更新配置
grub2-mkconfig -o /boot/grub2/grub.cfg
# 设置开机免输入密码
sed -i 's,^ExecStart=.*$,ExecStart=-/sbin/agetty --autologin root --noclear %I,' /etc/systemd/system/getty.target.wants/getty@tty1.service
sed -i 's,^ExecStart=.*$,ExecStart=-/sbin/agetty --autologin root --noclear %I,' /lib/systemd/system/autovt@.service
# 修改系统启动等待时间
sed -i 's,timeout=5$,timeout=2,' /boot/grub2/grub.cfg
sed -i 's,timeout=5$,timeout=2,' /boot/efi/EFI/centos/grub.cfg
bash -c "$(curl -sS https://gitlab.biz.kuaicdn.cn/shell/centos/-/raw/main/kernel/kernel_init.sh)" # 写入内核参数文件, 在 /etc/sysctl.d/98-sysctl.conf
sync
reboot
fi
} __kernel_update
__virt_console() {
# virt console免密自动登录
sed -i 's,^ExecStart=.*$,ExecStart=-/sbin/agetty --autologin root --noclear %I,' /usr/lib/systemd/system/serial-getty@.service
systemctl enable serial-getty@ttyS0.service
systemctl start serial-getty@ttyS0.service
} __virt_console
__set_config() {
# 设置基础配置
firewall-cmd --state
systemctl stop firewalld.service
systemctl disable firewalld.service
chkconfig NetworkManager off
service NetworkManager stop
setenforce 0
sed -i 's,^SELINUX=.*$,SELINUX=disabled,' /etc/selinux/config
} __set_config
__set_time() {
# 设置时区
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
} __set_time
其他设置
安装docker https://www.yuque.com/uuu/docker/yum-install
删除网卡配置文件中的 UUID
<a name="d8aIf"></a>
# 启动 kvm 虚拟机
```bash
__centos_import() {
_name="test_centos7"
virsh destroy "$_name" >/dev/null 2>&1
virsh undefine "$_name" >/dev/null 2>&1
_system_img="/data/kvm/vm/$_name/disk/system.qcow2"
virt-install --name="$_name" \
--memory=4096 \
--cpu host \
--vcpus $(grep 'processor' /proc/cpuinfo | sort -u | wc -l) \
--os-type=linux \
--os-variant=rhel7.9 \
--autostart \
--noautoconsole \
--import \
--disk "$_system_img",cache=none,bus=sata \
--graphics vnc \
--network network=default,model=virtio
# --network bridge=br-ikuai-lan1,model=virtio,mac=88:c6:66:ea:66:91
}
__centos_import
使用访问
- 在宿主机下访问
virsh console --force test_centos7