LXD 创建LVM以及手动指定IP (centos安装)

2023-10-14 19:04:14 浏览数 (2)

Centos安装参考,zfs可以不用运行,因为使用的lvm,需要把lvm的操作提前进行:

代码语言:javascript复制
# Install snapd
yum install yum-plugin-copr epel-release -y
yum copr enable ngompa/snapcore-el7 -y
yum install snapd -y
service snapd start
systemctl enable --now snapd.socket

# Install ZFS (skip if you don't want it)
yum install http://download.zfsonlinux.org/epel/zfs-release.el7_4.noarch.rpm
yum-config-manager --disable zfs
yum-config-manager --enable zfs-kmod
yum install zfs

# Configure the kernel
grubby --args="user_namespace.enable=1" --update-kernel="$(grubby --default-kernel)"
grubby --args="namespace.unpriv_enable=1" --update-kernel="$(grubby --default-kernel)"
echo "user.max_user_namespaces=3883" > /etc/sysctl.d/99-userns.conf
reboot

# Install the LXD snap
snap install lxd

# source一下环境变量,因为刚安装还没生效
source /etc/profile

# Configure LXD
lxd init

# Launch containers
lxc launch ubuntu:16.04 c1

关于超售部分:

超售主要需要增加内存,一般是使用swap,swap参考:https://zhuanlan.zhihu.com/p/399986218 需要 cat /proc/cmdline| grep swap 查看swapaccount是否存在且为1 https://blog.csdn.net/qq_27037443/article/details/100050978

开启步骤 开启 memory and swap on system 使用 GNU GRUB (GNU GRand Unified Bootloader),步骤如下:

使用具有 sudo 权限的用户登录你的系统。 编辑 /etc/default/grub 文件。 设置 GRUB_CMDLINE_LINUX 的值如下: GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

保存并关闭文件。 更新 GRUB。 sudo update-grub && reboot

需要把磁盘先进行分区,可以不用mkfs,直接fdisk /dev/nvme1n1,n p 1 回车回车 wq即可

大于2T的磁盘需要parted改成gpt

代码语言:javascript复制
parted /dev/nvme1n1
mklabel GPT
mkpart primary 0% 100%
quit
partprobe

然后安装: sudo yum install lvm2 device-mapper-persistent-data

1、先创建pv

代码语言:javascript复制
pvcreate /dev/nvme1n1p1

2、创建vg

代码语言:javascript复制
vgcreate lxd_vg /dev/nvme1n1p1

3、lxd增加存储

代码语言:javascript复制
lxc storage add lxd_pool lvm source=lxd_vg

4、检查添加成功没

代码语言:javascript复制
lxc storage ls

5、此时可以控制容量了

代码语言:javascript复制
lxc config device override instance-name root size=4GB

5、手动指定IP

代码语言:javascript复制
lxc network attach lxdbr0 a eth0 eth0
lxc config device set a eth0 ipv4.address 192.168.122.10

任何device的修改都需要restart容器 测试

代码语言:javascript复制
dd if=/dev/zero of=/data01/test.dbf bs=8k count=200000 conv=fdatasync

6、IPv6设置 lxc network set lxdbr0 ipv6.address=2a12:aaaa:aaaa::1/64 ipv6.nat=false

7、其他限制

代码语言:javascript复制
lxc config set a limits.cpu 1
lxc config set a limits.memory 512MB
lxc config set a limits.cpu.allowance 30%

参考: https://discuss.linuxcontainers.org/t/lxd-on-centos-7/1250 https://discuss.linuxcontainers.org/t/using-static-ips-with-lxd/1291/5 https://discuss.linuxcontainers.org/t/how-to-set-root-device-size-when-creating-new-instance/15911/2

0 人点赞