服务器配置lxc管理

本文详述了如何配置服务器进行LXC管理,包括分区、安装LXD、创建及配置容器、添加显卡、安装驱动和图形化界面,以及制作镜像和共享存储卷的全过程。在分区阶段,通过parted和fdisk创建3T分区并挂载。接着,通过snap安装LXD,创建ZFS存储池,并利用清华源创建Ubuntu容器。配置SSH连接、升级Ubuntu到20.04、添加GPU并安装驱动。安装图形化界面后,通过远程桌面连接。最后,制作镜像并实现容器间的共享存储卷。
摘要由CSDN通过智能技术生成


前言

由于之前的服务器被我搞坏了所以要重新开始配置服务器lxc管理


一、分区

1.创建分区

目的:划分出3T的分区来挂载lxc
查看磁盘

sudo fdisk -l
Disk /dev/sda: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors

这一块3.7T的就是要进行分区操作的盘,然后由于默认是mbr格式,无法通过fdisk划分2T以上的分区,因此用parted工具将mbr转化为gpt

sudo parted /dev/sda #进入parted 
mklabel gpt #将磁盘设置为gpt格式
mkpart logical 0 -1 #将磁盘所有的容量设置为GPT格式,这里会格式化丢失原先文件,请慎重
print #查看分区结果

这个时候应该是默认进行分了一个/dev/sda1这个分区,这个分区包含了整个磁盘大小,不是我们想要的3T,因此要删除重新配置

rm 1 #删除编号为1的分区
unit GB #改变默认单位GB
mkpart #进入创立分区交互指令
Partition name?  []? pv1
File system type?  [ext2]? zfs
Start? 0
End? 3072GB
print #分区完成后打印出来看一下结果
Model: ATA HGST HUS726T4TAL (scsi)
Disk /dev/sda: 4001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  3072GB  3072GB  zfs          pv1

在parted中完成了分区,然后通过fdisk验证一下

sudo fdisk -l
Device     Start        End    Sectors  Size Type
/dev/sda1   2048 6000001023 5999998976  2.8T Linux filesystem

fdisk中也可以看到对应的分区结果,至此完成了分区。

2.格式化分区

将刚刚分出来的sda1格式化为ext4的格式

sudo mkfs -t ext4 /dev/sda1
mke2fs 1.44.1 (24-Mar-2018)
Creating filesystem with 749999872 4k blocks and 187506688 inodes
Filesystem UUID: a66ff254-e95f-4981-921e-a090e7aff4a1
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848, 512000000, 550731776, 644972544

Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done

c
查看硬盘/dev/sda1 对应的UUID

sudo blkid

注意: 唯一的sda1的UUID号。再事先准备好一个地方来做挂载点,比如我这里是/data1然后再用命令打开配置文件:

sudo vim /etc/fstab

然后在文件末尾添加

UUID=a66ff254-e95f-4981-921e-a090e7aff4a1 /data1       ext4    defaults 0       0

重启

df
Filesystem      1K-blocks     Used  Available Use% Mounted on
udev             65774384        0   65774384   0% /dev
tmpfs            13166396    10880   13155516   1% /run
/dev/sdb2       921923300 46802332  828220132   6% /
tmpfs            65831968        0   65831968   0% /dev/shm
tmpfs                5120        4       5116   1% /run/lock
tmpfs            65831968        0   65831968   0% /sys/fs/cgroup
/dev/loop0         113536   113536          0 100% /snap/core/12725
tmpfs            13166392        0   13166392   0% /run/user/1000
/dev/sda1      2951859536    90140 2801753040   1% /data1

可以看到/dev/sda1已经成功挂载到了/data1下。证明了开机自动挂载完成。最后再测验一下卸载和挂载功能

sudo umount -l /dev/sda1
df
Filesystem     1K-blocks     Used Available Use% Mounted on
udev            65774384        0  65774384   0% /dev
tmpfs           13166396    10880  13155516   1% /run
/dev/sdb2      921923300 46802332 828220132   6% /
tmpfs           65831968        0  65831968   0% /dev/shm
tmpfs               5120        4      5116   1% /run/lock
tmpfs           65831968        0  65831968   0% /sys/fs/cgroup
/dev/loop0        113536   113536         0 100% /snap/core/12725
tmpfs           13166392        0  13166392   0% /run/user/1000

没有找到/dev/sda1,卸载成功

sudo mount /dev/sda1 /data1
df
Filesystem      1K-blocks     Used  Available Use% Mounted on
udev             65774384        0   65774384   0% /dev
tmpfs            13166396    10880   13155516   1% /run
/dev/sdb2       921923300 46802332  828220132   6% /
tmpfs            65831968        0   65831968   0% /dev/shm
tmpfs                5120        4       5116   1% /run/lock
tmpfs            65831968        0   65831968   0% /sys/fs/cgroup
/dev/loop0         113536   113536          0 100% /snap/core/12725
tmpfs            13166392        0   13166392   0% /run/user/1000
/dev/sda1      2951859536    90140 2801753040   1% /data1

又重新挂载上了,至此分区工作完成。

二、lxd

1.安装

lxd是lxc的升级版,安装包名为lxd,命令仍然沿用lxc。
lxd的安装方式有两种,apt和snap,下面列举了两者的差异。
在这里插入图片描述
apt比较熟悉,刚开始想通过apt安装,但是安装过程中一直提示连接不上snap导致无法安装。由此推断apt也是封装snap命令进行安装lxd,所以直接采用snap进行安装,并且选用推荐的4.x版本。

sudo snap install lxd

安装完成后可以通过snap version看到对应的版本信息

ssme@ssme-server:~$ snap version
snap    2.54.3.2
snapd   2.54.3.2
series  16
ubuntu  20.04
kernel  5.4.0-100-generic

当然过程中不一定是一帆风顺的,我遇到过两个问题。
第一次提示我

connect: connection refused

这是网络连接问题,查看网络是否可用,我通过设置代理解决了
第二此提示我

read: connection reset by peer

字面意思是连接被同行重置,理解一下就是网络配置被修改了。我因为修改过代理,并且是通过export http设置,vim ~/.bashrc以及snap自带的vim /etc/environment 等三种方式修改了代理,虽然代理是同一个ip,但是经过无数次的失败后,最后尝试将之前的修改的代理只保留一个。

  • export proxy可以通过重启或者export http_proxy="",设置为空来清除
  • ~/.bashrc 保留
  • /etc/environment 删除proxy配置信息

然后重新尝试安装,发现安装完成,坑爹啊!就算是完成了,我依然感觉这是个bug。

2.初始化

首先把之前挂载的分区拿下来,这里不需要挂,lxc有一套自己的挂载方式

umount /dev/sda1

在块设备 /dev/sda1 上创建一个ZFS存储池

sudo lxc storage create zfs-pool zfs source=/dev/sda1

创建成功后查看一下,因为没有配置占用空间,所以默认占用全部大约2.7T

ssme@ssme-server:~$ sudo lxc storage info zfs-pool
info:
  description: ""
  driver: zfs
  name: zfs-pool
  space used: 1.56MiB
  total space: 2.69TiB

lxd初始化,第二轮互动询问是否要创建资源池,这里我们通过指定分区创建资源池了,所以不需要默认创建(如果默认创建的话就会挂载到别的分区去)

ssme@ssme-server:~$ sudo lxd init
Would you like to use LXD clustering? (yes/no) [default=no]:
Do you want to configure a new storage pool? (yes/no) [default=yes]: no
Would you like to connect to a MAAS server? (yes/no) [default=no]:
Would you like to create a new local network bridge? (yes/no) [default=yes]:
What should the new bridge be called? [default=lxdbr0]:
The requested network bridge "lxdbr0" already exists. Please choose another name.
What should the new bridge be called? [default=lxdbr0]: lxdbr0
The requested network bridge "lxdbr0" already exists. Please choose another name.
What should the new bridge be called? [default=lxdbr0]: lxdbb1
What IPv4 address should be used? 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值