首页 > 其他分享 >Arch搭建Nas系统(3)之三:磁盘管理

Arch搭建Nas系统(3)之三:磁盘管理

时间:2024-09-07 23:28:21浏览次数:1  
标签:btrfs snapraid 之三 mnt data Nas sda 磁盘 Arch

3.1 数据磁盘分配说明

3.1.1 数据文件系统

我的nas总共有7块硬盘,分配如下:
a) 1块M2固态硬盘:大小为1T,做Nas系统盘使用。
b) 6块SATA机械硬盘:每块大小为4T,5块做数据盘,1块做校验盘。

为了方便使用,不碎片话,需要把5块磁盘整合然后挂到同一个目录下。因此使用联合文件系统mergerfs。

a) Nas系统盘,创建 /data 目录。用来挂载5块磁盘。/data目录,使用空间大小为20T。
b)5块磁盘全部格式化为btrfs文件系统。
c)使用mergerfs将5块4T磁盘,联合成一个整的20T磁盘使用。

3.1.2 数据备份

放弃raid,家用环境中raid是不可靠的,且恢复难度极大。多份冷备份才能减少数据丢失的概率。

a)重要数据做一份单独磁盘的复制冷备份。

b)Nas系统使用一块4T磁盘做snapraid的快照备份。

3.2 mergerfs

3.2.1 查看磁盘信息

查看硬盘列表

fdisk -l
或
lsblk

查看挂载信息

blkid
或
df -h

查看硬盘详细信息

paru hwinfo

3.2.2 格式化数据盘

我的5块数据盘如下:【sda,sdb,sdc,sdd,sde】

使用btrfs格式化 ,以第一块盘sda为例

# 安装btrfs文件系统
pacman -S btrfs-progs

# 格式化磁盘
mkfs.btrfs -L "sda"  /dev/sda 

# 如果需要强制格式化
mkfs.btrfs -f -L "sda"  /dev/sda

挂载到/mnt目录

sudo mkdir /mnt/sda
chown -R archnas:archnas /mnt/sda
mount /dev/sda /mnt/sda -o compress=zstd

其他磁盘一样,这样有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

paru  mergerfs

整合所有的btrfs磁盘到一个mergerfs文件系统,并挂载mergerfs文件系统到 /data目录下

sudo mkdir /data
chown -R archnas:archnas /data
mergerfs -o cache.files=partial,dropcacheonclose=true,category.create=mfs \
/mnt/sda:/mnt/sdb:/mnt/sdc:/mnt/sdd:/mnt/sdd:/mnt/sde /data 

重新加载所有磁盘

重新加载所有磁盘
mount -a

3.2.4 配置fstab

手动挂载磁盘,重启后就失效了。如果要开机自动挂载磁盘,需要配置fastab

mergerfs配置示例如下

vim /etc/fstab

添加内容:
UUID=XXXXXXXXXXXXXXXXXXXXXXXXXX   /mnt/sda    btrfs           rw,relatime,compress=zstd    0 0
UUID=XXXXXXXXXXXXXXXXXXXXXXXXXX   /mnt/sdb    btrfs           rw,relatime,compress=zstd    0 0
UUID=XXXXXXXXXXXXXXXXXXXXXXXXXX   /mnt/sdc    btrfs           rw,relatime,compress=zstd    0 0
UUID=XXXXXXXXXXXXXXXXXXXXXXXXXX   /mnt/sde    btrfs           rw,relatime,compress=zstd    0 0
UUID=XXXXXXXXXXXXXXXXXXXXXXXXXX   /mnt/sde    btrfs           rw,relatime,compress=zstd    0 0
/mnt/sda:/mnt/sdb:/mnt/sdc:/mnt/sdd:/mnt/sde    /data       mergerfs        cache.files=partial,dropcacheonclose=true,category.create=mfs 0 0

3.3 snapraid

将第6块校验盘使用btrfs格式化,并挂载到 /mnt/sdf 目录、

3.3.1 安装配置snapraid

安装snapraid

paru  snapraid

配置snapraid

sudo mkdir /var/snapraid
sudo chown -R archnas:archnas /var/snapraid

vim /etc/snapraid.conf 

添加内容
data d1 /mnt/sda
data d2 /mnt/sdb
data d3 /mnt/sdc
data d4 /mnt/sdd
data d5 /mnt/sde
parity /mnt/sdf/SnapRAID.parity
content /var/snapraid/SnapRAID.content
content /mnt/sdf/SnapRAID.content
exclude /lost+found/

说明:

  1. disk 指定所需要备份的目录, 配置为数据盘挂载点
  2. parity 指定校验文件的存放位置,配置为校验盘目录文件
  3. content 指定文件索引等备份所需要的元信息,需要配置两个不同磁盘目录

3.3.2 备份数据
执行:

snapraid sync

3.3.3 还原数据

例如 /dev/sdb 盘挂掉。
a) 首先停止掉定时备份的脚本
b) 拆掉旧硬盘,替换新硬盘,并将新硬盘挂载到 /mnt/sdb_recovery 目录
c)修改/etc/snapraid.conf,替换

d)执行恢复命令

snapraid -d d2 -l recovery.log fix

3.3.4 取消删除
取消删除

snapraid fix -f FILENAME
(使用 file 或 dir 的完整 PATH 更好。file path 相对于所有根目录)

3.4 定时备份脚本

3.5 其他

btrfs磁盘管理命令

# 添加磁盘
btrfs device add /dev/sdZ /mnt/sda

# 强制添加
btrfs device add -f /dev/sdZ  /mnt/sda

# 移除硬盘
btrfs device delete /dev/sdZ  /mnt/sda

# 添加后重新均衡文件
btrfs balance start  /mnt/sda

# 查看文件系统上各种数据的用量
btrfs filesystem df /data

标签:btrfs,snapraid,之三,mnt,data,Nas,sda,磁盘,Arch
From: https://www.cnblogs.com/mlzrq/p/18402308

相关文章

  • Arch搭建Nas系统(2)之二:配置Arch系统
    2.1远程管理Nas主机2.1.1安装SSH客户端下载并安装MobaXterm客户端工具。地址:mobaxterm.download解压安装后打开MobaXterm执行sessions》newSession》选择ssh标签输入remotehost:nas主机的IP输入Specialusername:nas用户点击OK,进行登录输入密码后进入shell界......
  • Arch搭建Nas系统(0)之前篇:硬件篇.md
    方案说明硬件搭配方便,主要做出了一下三种硬件方案。捡垃圾方案性能方案便携省电方案方案配置普通版说明。采用捡垃圾的方案,使用E3带核显的cpu,除cpu外其他全新。机箱是和蜗牛星际同款机箱,不过购买新机箱要胜于去咸鱼找二手商家淘换传家宝了。硬件型号价格......
  • Arch搭建Nas系统(1)之一:安装Arch系统.md
    1.1准备U盘准备一个8G以上的U盘1.2准备安装包下载Arch的ISO文件:下载地址:Download.Arch下载Ventoy安装工具下载地址:Download.Ventoy1.2.2安装Ventoy解压ventoy压缩包,执行Ventoy2Disk.exe设备选择U盘,点击安装.等待安装完成1.2.3复制ISO文件到u盘将下载好的a......
  • .Fundamentals.of.Software.Architecture.
    研究背景研究问题:本书旨在解决软件架构师在职业发展过程中面临的挑战,特别是如何从一个技术专家转变为一名能够领导团队并做出战略决策的架构师。研究难点:该问题的研究难点包括:软件架构的定义不明确,角色责任广泛且不断扩展,软件开发生态系统快速变化,以及许多过时的技术和解......
  • .Software.Architecture.The.Hard.Parts.
    研究背景研究问题:本文研究了现代分布式架构中的软件架构设计问题,特别是如何在没有“最佳实践”的情况下进行架构决策。作者探讨了架构量子(architecturequantum)的概念,分析了静态和动态耦合,并提出了如何进行架构分解和组件化。研究难点:该问题的研究难点包括:分布式架构的复......
  • kali——dirsearch的使用
    目录前言下载安装dirsearch目录扫描前言Dirsearch是一个基于Python的Web目录扫描器,用于渗透测试和安全审计中,帮助发现隐藏的资源、备份文件、配置文件等敏感信息。下载安装dirsearchapt-getinstalldirsearch目录扫描靶机centos服务机的www.sqlibs.com网站d......
  • ElasticSearch系列---【批量删除(或修改)索引别名】
    1.问题背景es集群突然查询很慢,定位到是查询近360天指标索引时,查询量太大导致的,每天三四百万流水,频繁查询把数据变成了热点数据,加载到内存中,导致内存不断增大,最终被撑爆,报datatoolarge的错误。2.临时解决方案因为是指标,所以允许为空,后续再重新计算,补上,所以,在生产环境,我们选择......
  • MySQL中 VARCHAR 可设置的最大长度是多少?
    在使用MySQL的过程中,在存储字符串时,大家或许都有过这样或那样的困惑,譬如:1. 对于固定长度的字符串,为什么推荐使用CHAR来存储?2. VARCHAR可设置的最大长度是多少?3. 给定一个字符串,怎么知道它的空间使用情况?4. 创建索引时,提示“Indexcolumnsizetoolarge.Themaxim......
  • 《Head First Software Architecture》读书笔记 —— Chapter 1: software architectu
    软件架构(SoftwareArchitecture)是一个软件系统成功的基石,它不仅决定了系统的结构,也直接影响到其可扩展性、可维护性和性能表现。在这篇博客中,我们将探讨软件架构的关键维度(dimensions)、架构决策(architecturaldecisions)以及常见的架构风格(architecturalstyles),以帮助您更好......
  • 目录扫描-dirsearch
    dirsearch.py-uhttps://www.xxxx///对xxxx进行目录扫描dirsearch.py-uhttps://www.xxxx/-i200//筛选状态码为200的结果dirsearch.py-uhttps://www.xxxx/-x401,403//排除状态码为401,403的结果dirsearch.py-uhttps://www.xxxx/-i200-oC:\Users\Administrat......