pve添加zfs磁盘阵列,分配存储

前言:

第一篇笔记仅仅是安装了pve,并且添加了cockpit和docker,这篇配置存储部分。

我的服务器目前是1块120G固态,上次已经装了系统。

还有2块320G机械盘、2块500G机械盘。

oracle关于ZFS的文档

https://docs.oracle.com/cd/E26926_01/html/E25826/preface-1.html#scrolltoc

一:添加ZFS存储池(磁盘阵列)

1.初始化磁盘

我们未必每次都能使用全新的硬盘,那么旧硬盘在ZFS或PVE当中都是不能直接发现的,它怕你误操作把有数据的硬盘给洗白白。

看我现在就是挂的几块用过的硬盘。

 这些硬盘PVE默认不作为新硬盘给你用。需要重新初始化一下。

dd if=/dev/zero of=/dev/sd[X] bs=1M count=200 

X代表你要初始化的磁盘。

根据我的情况:

复制代码
root@pve01:/dev# dd if=/dev/zero of=/dev/sdb bs=1M count=200
200+0 records in
200+0 records out
209715200 bytes (210 MB, 200 MiB) copied, 1.53484 s, 137 MB/s
root@pve01:/dev# dd if=/dev/zero of=/dev/sdc bs=1M count=200
200+0 records in
200+0 records out
209715200 bytes (210 MB, 200 MiB) copied, 1.6981 s, 123 MB/s
root@pve01:/dev# dd if=/dev/zero of=/dev/sdd bs=1M count=200
200+0 records in
200+0 records out
209715200 bytes (210 MB, 200 MiB) copied, 2.16789 s, 96.7 MB/s
root@pve01:/dev# dd if=/dev/zero of=/dev/sde bs=1M count=200
200+0 records in
200+0 records out
209715200 bytes (210 MB, 200 MiB) copied, 2.1021 s, 99.8 MB/s
root@pve01:/dev#
复制代码

 PVE可以看到 硬盘了。

2.创建ZFS

反正我也不知道为什么PVE的web界面无法创建ZFS。

我们用命令行来创建:

先看帮助:

 View Code

我们只关心creat

 View Code

3.查看磁盘

fdisk -l

 View Code

可以看出有

sda 120G 固态

sdb 500G 机械

sdc 500G 机械

sdd 320G 机械

sde  320G 机械 

4.创建raid0

示例以两块320来做

root@pve01:/dev# zpool create -f Storage sdd sde

5.创建raid1

示例以两块500来做

root@pve01:/dev# zpool create -f Virtual mirror sdb sdc

6.校验结果

 View Code
 View Code

zfs会自动创建以zfs存储池为名的目录,并挂载存储池到根目录。很方便的了。

二:导入ZFS存储池

我会告诉你 最近几天我装了几遍PVE么?不会。

但是我会告诉你,我在使用UEFI引导XFS格式的6.2版PVE,会出现关机时拔掉硬盘电源线或数据线,再插上,会出现无法引导的故障。

现在我在使用传统逻辑bios引导的PVE。

1.查看可以导入的ZFS存储池

zpool import

 View Code

2.按原来的名字导入

zpool import -f 老名字

1
zpool import -f Docker

3.换个名字导入

zpool import -f 老名字 新名字      

 View Code

4.测试

原来的文件还都在的。

5.迁移ZFS

其实这是迁移ZFS当中的导入操作。可以完整的将一组ZFS存储池,通过变更接线,甚至搬迁硬盘的方式将一组ZFS存储池变更到另一个主机上。

6.导出ZFS存储池

zpool export 存储池名字

 View Code

7.导入操作请从1开始看

三:配置docker存贮路径,镜像服务器

1.创建或修改 /etc/docker/daemon.json 文件

复制代码
{
    "registry-mirrors": ["https://******.mirror.aliyuncs.com"],
    "graph": "/Storage/docker"
}
复制代码

我配置DOCKER的主存储路径为/Storage/docker,毕竟Storage就是给docker准备的。

镜像服务器,用的阿里云镜像,自己去注册一个就好了。https://cr.console.aliyun.com

2.重启docker

systemctl restart docker

3.验证docker配置

docker info

可以使用docker info命令查看

也可以进入/Storage/docker查看,文件一大堆就对了。

4.配置其他文件夹

我还要创建build,存储docker-compose使用的yaml文件。

创建images,存储离线传输的镜像文件。

创建date,存储容器的永久储存文件。

四:配置pve存储路径

1.简介

PVE的存储有几个作用:

 磁盘映像:虚拟机的虚拟磁盘文件

ISO镜像:安装虚拟机操作系统时使用的ISO文件

容器模板:应该是下载的容器模板,不是docker,应该是LXC容器

VZDUMP备份文件:未知

容器:还是LXC容器的东西

片段:更不知道是什么了

2.添加目录

ISO:专门存储各种安装镜像。

virtual_disk:存储各虚拟机的硬盘镜像。

container:存储容器。

 这些都存在一个zfs存储池当中,分开目录,是为了方便管理以及迁移。

3.

4.

睡觉,明天继续。

原文地址:https://www.cnblogs.com/surplus/p/14055022.html