This commit is contained in:
colben 2025-02-14 15:52:30 +08:00
parent f46aff8c20
commit 39de3779f9

View File

@ -13,30 +13,6 @@ categories: ["kvm", "container"]
4核 | 8GB | 30GB | 30GB | Rocky9 4核 | 8GB | 30GB | 30GB | Rocky9
### 操作系统配置 ### 操作系统配置
- 禁用 selinux
```BASH
sed -i '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config
```
- 关闭并禁用防火墙firewalld
```BASH
systemctl stop firewalld
systemctl disable firewalld
```
- 同步时间,这里可以把 ntp.tencent.com 换成自己内网的时间服务器
```BASH
sed -i '/^pool/d' /etc/chrony.conf
echo 'pool ntp.tencent.com iburst' >> /etc/chrony.conf
systemctl restart chronyd
```
- 安装 epel
```BASH
dnf install epel-release
dnf makecache
```
- 在 /etc/security/limits.conf 中追加如下配置 - 在 /etc/security/limits.conf 中追加如下配置
``` ```
* soft nofile 1048576 * soft nofile 1048576
@ -58,6 +34,38 @@ categories: ["kvm", "container"]
vm.max_map_count = 262144 vm.max_map_count = 262144
``` ```
- 安装 chrony配置时间同步
#### debian 系 linux
- (推荐)安装 gnome 和 virt-manager用来运行虚拟机桌面
```BASH
apt install gdm3 virt-manager gnome-terminal
```
- 创建普通用户 user1加入 sudo
```BASH
useradd -m user1
passwd user1
echo 'user1 ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/boya
```
- 修改 gdm3 配置文件 /etc/gdm3/daemon.conf配置用户自动登录
```
AutomaticLoginEnable = true
AutomaticLogin = user1
```
- 重启操作系统,进入桌面环境下,自动登录 user1 用户
#### redhat 系 linux
- 禁用 selinux
- 关闭并禁用防火墙firewalld
- 安装 epel
```BASH
dnf install epel-release
dnf makecache
```
- 配置子用户 - 配置子用户
```BASH ```BASH
echo root:1000000:1000000000 > /etc/subuid echo root:1000000:1000000000 > /etc/subuid
@ -67,12 +75,29 @@ categories: ["kvm", "container"]
- 重启操作系统 - 重启操作系统
### 安装 incus 环境 ### 安装 incus 环境
- 安装 incus 包 #### debian 系 linux
- 安装 qemu-system 包
```BASH
apt install qemu-system-x86
```
- 安装 nicus 包
```BASH
apt install incus
```
- 把 user1 用户加入 incus-admin 组
```BASH
usermod -a -G incus-admin user1
```
#### redhat 系 linux
- 安装 incus 包,**目前测试了红帽8及其更高版本的衍生 linux 都无法启动 kvm 虚拟机**
```BASH ```BASH
dnf -y copr enable ligenix/enterprise-qemu-wider dnf -y copr enable ligenix/enterprise-qemu-wider
dnf install lvm2 incus incus-tools dnf install lvm2 incus incus-tools
# 如果要运行 kvm 虚拟机,还需要安装如下 qemu 包 # 打算尝试虚拟机的可以安装 qemu-system
dnf install qemu-system-x86 #dnf install qemu-system-x86
``` ```
- 修改 incus 服务文件 - 修改 incus 服务文件
@ -86,13 +111,6 @@ categories: ["kvm", "container"]
systemctl start incus systemctl start incus
``` ```
- 增加清华 lxc 镜像源
```BASH
incus remote add tuna https://mirrors.tuna.tsinghua.edu.cn/lxc-images/ \
--protocol=simplestreams --public
incus remote list # 查看镜像源
```
### 初始化 incus 单机环境 ### 初始化 incus 单机环境
- 初始化 incus - 初始化 incus
```BASH ```BASH
@ -118,11 +136,11 @@ categories: ["kvm", "container"]
## 集群环境 ## 集群环境
### 服务器 ### 服务器
主机名 | 服务器网卡IP | 集群网卡IP | 操作系统 | 数据盘 | /etc/hosts 主机名 | 服务器网卡IP | 集群网卡IP | 数据盘 | /etc/hosts
---- | ---- | ---- | ---- | ---- | ---- ---- | ---- | ---- | ---- | ----
incus1 | eth0: 192.168.1.1 | 10.10.10.1 | Rocky9 | /dev/sdb | 10.10.10.1 incus1 incus1 | eth0: 192.168.1.1 | 10.10.10.1 | /dev/sdb | 10.10.10.1 incus1
incus2 | eth0: 192.168.1.2 | 10.10.10.2 | Rocky9 | /dev/sdb | 10.10.10.2 incus2 incus2 | eth0: 192.168.1.2 | 10.10.10.2 | /dev/sdb | 10.10.10.2 incus2
incus3 | eth0: 192.168.1.3 | 10.10.10.3 | Rocky9 | /dev/sdb | 10.10.10.3 incus3 incus3 | eth0: 192.168.1.3 | 10.10.10.3 | /dev/sdb | 10.10.10.3 incus3
### 操作系统配置 ### 操作系统配置
- [每台服务器的操作与单机环境完全一致](#操作系统配置) - [每台服务器的操作与单机环境完全一致](#操作系统配置)
@ -130,7 +148,7 @@ incus3 | eth0: 192.168.1.3 | 10.10.10.3 | Rocky9 | /dev/sdb | 10.10.10.3 incus
### 安装 incus 环境 ### 安装 incus 环境
- [每台服务器的操作与单机环境完全一致](#安装-incus-环境) - [每台服务器的操作与单机环境完全一致](#安装-incus-环境)
### 创建网桥和 lvm 卷组 ### 创建网桥
- **在每台服务器里执行下面操作** - **在每台服务器里执行下面操作**
- 创建网桥 incusbr连接服务器网卡 eth0**注意此操作可能会导致服务器断网** - 创建网桥 incusbr连接服务器网卡 eth0**注意此操作可能会导致服务器断网**
```BASH ```BASH
@ -147,6 +165,8 @@ incus3 | eth0: 192.168.1.3 | 10.10.10.3 | Rocky9 | /dev/sdb | 10.10.10.3 incus
nmcli c add type bridge-slave con-name incusbr-eth0 ifname eth0 master incusbr nmcli c add type bridge-slave con-name incusbr-eth0 ifname eth0 master incusbr
``` ```
### 创建 lvm 卷组
- **在每台服务器里执行下面操作**
- 基于数据盘创建 lvm 卷组 incusvg - 基于数据盘创建 lvm 卷组 incusvg
```BASH ```BASH
pvcreate /dev/sdb pvcreate /dev/sdb
@ -238,6 +258,14 @@ incus3 | eth0: 192.168.1.3 | 10.10.10.3 | Rocky9 | /dev/sdb | 10.10.10.3 incus
--- ---
## 简单使用 ## 简单使用
### 配置镜像源
- 增加清华镜像源
```BASH
incus remote add tuna https://mirrors.tuna.tsinghua.edu.cn/lxc-images/ \
--protocol=simplestreams --public
incus remote list # 查看镜像源
```
### lxc 容器 ### lxc 容器
- 拉取 alpine lxc 镜像 - 拉取 alpine lxc 镜像
```BASH ```BASH
@ -268,12 +296,11 @@ incus3 | eth0: 192.168.1.3 | 10.10.10.3 | Rocky9 | /dev/sdb | 10.10.10.3 incus
``` ```
### qemu 虚拟机 ### qemu 虚拟机
- Windows 客户机需要安装 xmanager 和 xshell - 登录已安装 incus 的 debian 操作系统的普通用户user1
- 用 xshell 连接 incus 服务器
- 下载 RockyLinux8 操作系统镜像文件Rocky-8.10-x86_64-minimal.iso - 下载 RockyLinux8 操作系统镜像文件Rocky-8.10-x86_64-minimal.iso
- 创建 iso 存储卷 - 创建 iso 存储卷
```BASH ```BASH
incus storage volume import pool1 \ sudo incus storage volume import pool1 \
/root/Rocky-8.7-x86_64-minimal.iso \ /root/Rocky-8.7-x86_64-minimal.iso \
rocky8-iso-volume --type=iso rocky8-iso-volume --type=iso
# pool1: 存储池 # pool1: 存储池
@ -283,24 +310,24 @@ incus3 | eth0: 192.168.1.3 | 10.10.10.3 | Rocky9 | /dev/sdb | 10.10.10.3 incus
- 创建一个空的虚拟机,并设置 cpu、内存和系统盘大小和 boot 优先级 - 创建一个空的虚拟机,并设置 cpu、内存和系统盘大小和 boot 优先级
```BASH ```BASH
incus create vm1 --empty --vm -c limits.cpu=2 -c limits.memory=4GiB -d root,size=6GiB -s pool1 sudo incus create vm1 --empty --vm -c limits.cpu=2 -c limits.memory=4GiB -d root,size=6GiB -s pool1
# vm1虚拟机名字 # vm1虚拟机名字
# limits.cpu=2虚拟机占用 2 核 # limits.cpu=2虚拟机占用 2 核
# limits.memory虚拟机占用 4G 内存 # limits.memory虚拟机占用 4G 内存
# root,size=6GiB虚拟机中的系统盘设备名是 root大小是 6G # root,size=6GiB虚拟机中的系统盘设备名是 root大小是 6G
# pool1: 存储池 # pool1: 存储池
incus config device set vm1 root boot.priority=20 sudo incus config device set vm1 root boot.priority=20
# boot.priority=20boot 优先级,数字越大,优先级越高 # boot.priority=20boot 优先级,数字越大,优先级越高
# 修改虚拟机配置 # 修改虚拟机配置
#incus config set vm1 limits.cpu=4 #sudo incus config set vm1 limits.cpu=4
#incus config edit vm1 #sudo incus config edit vm1
``` ```
- 为虚拟机增加 iso 存储卷,并设置 boot 优先级 - 为虚拟机增加 iso 存储卷,并设置 boot 优先级
```BASH ```BASH
incus config device add vm1 iso-cd disk \ sudo incus config device add vm1 iso-cd disk \
pool=pool1 source=rocky8-iso-volume boot.priority=10 pool=pool1 source=rocky8-iso-volume boot.priority=10
# vm1虚拟机名字 # vm1虚拟机名字
# iso-cd虚拟机中的 iso 只读盘设备名 # iso-cd虚拟机中的 iso 只读盘设备名
@ -309,20 +336,19 @@ incus3 | eth0: 192.168.1.3 | 10.10.10.3 | Rocky9 | /dev/sdb | 10.10.10.3 incus
# boot.priority=10boot 优先级,数字越大,优先级越高 # boot.priority=10boot 优先级,数字越大,优先级越高
``` ```
- 启动虚拟机,这里会调用 windows 客户机的 xmanager - 启动虚拟机
```BASH ```BASH
incus start vm1 --console=vga sudo incus start vm1
``` ```
- 在弹出的窗口中开始安装 RockyLinux8 - 打开已运行虚拟机的 console 终端,此时会在 debian gnome 桌面中自动打开 remove-viewer
- 安装完成(点击“重新启动”)后,窗口自动关闭,此时虚拟机正在重启中
- 打开已运行虚拟机的 console 终端
```BASH ```BASH
incus console vm1 --type=vga sudo incus console vm1 --type=vga
``` ```
- 在 remote-viewer 窗口中开始安装 RockyLinux8
- 系统安装完成后,虚拟机不再需要 iso 只读盘设备,可以卸载 - 系统安装完成后,虚拟机不再需要 iso 只读盘设备,可以卸载
```BASH ```BASH
incus config device remove vm1 iso-cd sudo incus config device remove vm1 iso-cd
``` ```