总体流程:
初始化擦除磁盘 -> 建立磁盘池配置文件 -> warpdrive挂磁盘池
具体步骤:
1、准备两块磁盘(如dev/sdb1、dev/sdc1),用wipefs命令擦除磁盘。
wipefs -a /dev/sdb1
wipefs -a /dev/sdc1
【随笔|linux下配置磁盘池可能出现的问题及解决办法】
如果擦除失败则可用dd命令暴力初始化,但在用dd命令之前请务必将两块磁盘unmount掉,否则你的磁盘会瞬间爆炸,直接到64Z空间的大小。umount掉dev/sdb1、dev/sdc1后,执行下列命令:
dd if=/dev/zero of=/dev/sdb1 bs=512 count=2048
dd if=/dev/zero of=/dev/sdc1 bs=512 count=2048
2、建立磁盘池配置文件
# gold.yml文件
"name": "gold"
"driverName" : "devicemapper"
"thinPool":
"fileSystem" : "ext4"
"type" : "Linear"
"devices":
- "/dev/sdb1"# silver.yml文件
"name": "silver"
"driverName" : "devicemapper"
"thinPool":
"fileSystem" : "ext4"
"type" : "Linear"
"devices":
- "/dev/sdc1"
目前建议配置存储池驱动:devicemapper 。它支持xfs和ext4两种文件系统。在type属性里我们可以选择磁盘池存储格式,有Linear,Stripe,SoftRaid1,SoftRaid5。
Linear格式写入单块磁 盘,效率较高,最少需要一块磁盘;
Stripe要求配置多块盘,写入效率高 但是安全性低,最少需要两块磁盘;
SoftRaid1代表Raid1方式,安全性高但是空间利用率低,最少需要两块磁盘;
SoftRaid5代表Raid5方式,可保证数据安全性,同时确保一定的空间利用率,最少需要三块磁盘。
因为我们这里是配两个磁盘池,每个磁盘池仅有一块磁盘,故直接指定存储格式为Liner即可。
3、执行配置命令。
warpdrive pool create -f {gold.yml路径}
warpdrive pool create -f {silver.yml路径}
如果只有一块磁盘,且无法umount的时候
如果我们仅有一块磁盘,但想配两块磁盘池,则可通过fdisk将磁盘分为为两个区,再挂载,具体操作:
![随笔|linux下配置磁盘池可能出现的问题及解决办法](https://img.it610.com/image/info8/9841a95511534be9993a06458cbfb865.jpg)
文章图片
先将当前分区删除,这样整个磁盘空间就全腾出来了,接着new两个分区,保存。
![随笔|linux下配置磁盘池可能出现的问题及解决办法](https://img.it610.com/image/info8/0afac3cbe75c42c3a86c4daf8c440eb8.jpg)
文章图片
格式化新建的两个分区/dev/sdc1、/dev/sdc2。
![随笔|linux下配置磁盘池可能出现的问题及解决办法](https://img.it610.com/image/info8/cd19e1d127b64c32b084647c14d9b3e4.jpg)
文章图片
![随笔|linux下配置磁盘池可能出现的问题及解决办法](https://img.it610.com/image/info8/67156b59ad364fa8ae686109d8660033.jpg)
文章图片
加下来再正常操作即可。
报create pv /dev/sdx failed:exit status5错:
报错如下:
![随笔|linux下配置磁盘池可能出现的问题及解决办法](https://img.it610.com/image/info8/ad1796b69ea34b649062900d2af0b8c7.jpg)
文章图片
原因:磁盘没有完全被擦除。
解决方案:dd命令
dd if=/dev/zero of=/dev/sdc1 bs=512 count=2048
dd if=/dev/zero of=/dev/sdc2 bs=512 count=2048
![随笔|linux下配置磁盘池可能出现的问题及解决办法](https://img.it610.com/image/info8/648da2ca5d8c48a88cff28c11a42f347.jpg)
文章图片
![随笔|linux下配置磁盘池可能出现的问题及解决办法](https://img.it610.com/image/info8/5a4b52e5bd5549e4a6aa127abae759b8.jpg)
文章图片
之后就会显示配置成功了。
推荐阅读
- Linux|109 个实用 shell 脚本
- linux笔记|linux 常用命令汇总(面向面试)
- Linux|Linux--网络基础
- linux|apt update和apt upgrade命令 - 有什么区别()
- linux|2022年云原生趋势
- Go|Docker后端部署详解(Go+Nginx)
- 开源生态|GPL、MIT、Apache...开发者如何选择开源协议(一文讲清根本区别)
- GitHub|7 款可替代 top 命令的工具