1.3 Arch搭建Nas系统之三:磁盘管理
3.1 数据磁盘分配说明
3.1.1 数据文件系统
为安装nas的Nas系统我准备总共有7块硬盘,分配如下:
a) 1块M2固态硬盘:大小为1T,做Nas系统盘使用。
b) 6块SATA机械硬盘:每块大小为8T,5块做数据盘,1块做校验盘。
为了方便使用,不碎片话,需要把5块数据磁盘整合然后挂到同一个目录下。因此使用联合文件系统mergerfs。
a) Nas系统盘,创建 /data 目录。用来挂载5块磁盘。/data目录,使用空间大小为40T。
b)5块磁盘全部格式化为btrfs文件系统。
c)使用mergerfs将5块4T磁盘,联合成一个整的20T磁盘使用。
3.1.2 数据备份
放弃raid,家用环境中raid是不可靠的,且恢复难度极大。多份冷备份才能减少数据丢失的概率。
a)重要数据做一份单独磁盘的复制冷备份。
b)Nas系统使用一块4T磁盘做snapraid的快照备份。
3.2 mergerfs
3.2.1 查看磁盘信息
查看硬盘列表
1 | fdisk -l |
查看挂载信息
1 | blkid |
查看硬盘详细信息
1 | paru hwinfo |
3.2.2 格式化数据盘
我的5块数据盘如下:【sda,sdb,sdc,sdd,sde】
使用btrfs格式化 ,以第一块盘sda为例
1 | # 安装btrfs文件系统 |
挂载到/mnt目录
1 | sudo mkdir /mnt/sda |
其他磁盘一样,这样有5块磁盘分别挂载如下:
【磁盘:/dev/sda,挂载:/mnt/sda】
【磁盘:/dev/sdb,挂载:/mnt/sdb】
【磁盘:/dev/sdc,挂载:/mnt/sdc】
【磁盘:/dev/sdd,挂载:/mnt/sdd】
【磁盘:/dev/sde,挂载:/mnt/sde】
3.2.3 配置mergerfs
安装mergerfs
1 | paru mergerfs |
整合所有的btrfs磁盘到一个mergerfs文件系统,并挂载mergerfs文件系统到 /data目录下
1 | sudo mkdir /data |
重新加载所有磁盘
1 | 重新加载所有磁盘 |
3.2.4 配置fstab
手动挂载磁盘,重启后就失效了。如果要开机自动挂载磁盘,需要配置fastab
mergerfs配置示例如下
1 | vim /etc/fstab |
3.3 snapraid
将第6块校验盘使用btrfs格式化,并挂载到 /mnt/sdf 目录、
3.3.1 安装配置snapraid
安装snapraid
1 | paru snapraid |
配置snapraid
1 | sudo mkdir /nas/snapraid |
说明:
- disk 指定所需要备份的目录, 配置为数据盘挂载点
- parity 指定校验文件的存放位置,配置为校验盘目录文件
- content 指定文件索引等备份所需要的元信息,需要配置两个不同磁盘目录
3.3.2 备份数据
执行:
1 | snapraid sync |
3.3.3 还原数据
例如 /dev/sdb 盘挂掉。
a) 首先停止掉定时备份的脚本
b) 拆掉旧硬盘,替换新硬盘,并将新硬盘挂载到 /mnt/sdb_recovery 目录
c)修改/etc/snapraid.conf,替换
d)执行恢复命令
1 | snapraid -d d2 -l recovery.log fix |
3.3.4 取消删除
取消删除
1 | snapraid fix -f FILENAME |
3.4 定时备份脚本
3.4 其他
btrfs磁盘管理命令
1 | # 添加磁盘 |
3.5 磁盘休眠
- 安装
安装 hdparm 软件包 和 smartmontools 软件包1
2pacman -S hdparm
pacman -S smartmontools
2)设置
设置休眠
1 | vim /etc/systemd/system/hdparm.service |
1 | systemctl start hdparm && systemctl enable hdparm |
241指30分钟
时间数值说明
120:10分钟, 180:15分组,241:30分钟,242:1小时
从1到240的值指定5秒的倍数,从而产生5秒到20分钟的超时。
从241到251的值指定30分钟的1到11个单位,从而产生30分钟到5.5小时的超时。
值252表示超时21分钟。
3)查看硬盘活动状态
smartctl -i -n standby /dev/sda