AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 678484
Accepted
giovi321
giovi321
Asked: 2021-11-22 04:46:43 +0800 CST2021-11-22 04:46:43 +0800 CST 2021-11-22 04:46:43 +0800 CST

用更大的磁盘替换软 RAID1 LUKS 磁盘

  • 772

我打算用两个相同的(4TB 磁盘)替换两个软 RAID1 磁盘(2TB)。当前磁盘配置有运行 debian 11 的软 RAID 1。这些磁盘不是 root。

我的计划是用一个新的 4TB 磁盘替换(支持热交换)一个 2TB 磁盘,然后等待磁盘与 mdadm 同步(我什至不知道该怎么做,但我想我会谷歌它)。同步结束后,我计划使用剩余的 2TB 磁盘进行相同的热交换,将其替换为另一个新的 4TB 磁盘,然后等待 mdadm 完成同步。

在这一点上,我仍然(希望)发现自己有两个需要扩大的 2TB 分区的 LUKS 磁盘。这个操作很麻烦,但我以前在笔记本电脑上做过,但从来没有使用 RAID1 配置。

  1. 你觉得我的计划有意义吗?
  2. 您能否就如何扩大 RAID 1 LUKS 分区(即我计划的最后一步)提供一些指导?
  3. 还有其他更聪明的选择吗?

根据评论中的要求,以下是以下输出lsblk:

root@server:~$ lsblk
NAME         MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda            8:0    0   3.6T  0 disk  
`-sda1         8:1    0   3.6T  0 part  
  `-md4        9:4    0   3.6T  0 raid1 
    `-4tb    253:1    0   3.6T  0 crypt /media/4tb
sdb            8:16   0   3.6T  0 disk  
`-sdb1         8:17   0   3.6T  0 part  
  `-md4        9:4    0   3.6T  0 raid1 
    `-4tb    253:1    0   3.6T  0 crypt /media/4tb
sdc            8:32   0 119.2G  0 disk  
`-sdc1         8:33   0 119.2G  0 part  
  `-md127      9:127  0 119.2G  0 raid1 /
sdd            8:48   0 119.2G  0 disk  
`-sdd1         8:49   0 119.2G  0 part  
  `-md127      9:127  0 119.2G  0 raid1 /
sde            8:64   0 465.8G  0 disk  
`-sde1         8:65   0 465.8G  0 part  
  `-md0        9:0    0 465.6G  0 raid1 
sdf            8:80   0   2.7T  0 disk  
`-sdf1         8:81   0   2.7T  0 part  
  `-3tb      253:2    0   2.7T  0 crypt /media/3tb
sdg            8:96   1 931.5G  0 disk  
`-sdg1         8:97   1 931.5G  0 part  
  `-md1        9:1    0 931.4G  0 raid1 
    `-vm     253:3    0 931.4G  0 crypt /media/vm
sdh            8:112  1   1.8T  0 disk  
`-sdh1         8:113  1   1.8T  0 part  
  `-md2        9:2    0   1.8T  0 raid1 
    `-backup 253:0    0   1.8T  0 crypt /media/backup
sdi            8:128  1 931.5G  0 disk  
`-sdi1         8:129  1 931.5G  0 part  
  `-md1        9:1    0 931.4G  0 raid1 
    `-vm     253:3    0 931.4G  0 crypt /media/vm
sdj            8:144  1   1.8T  0 disk  
`-sdj1         8:145  1   1.8T  0 part  
  `-md2        9:2    0   1.8T  0 raid1 
    `-backup 253:0    0   1.8T  0 crypt /media/backup
debian hard-disk
  • 1 1 个回答
  • 176 Views

1 个回答

  • Voted
  1. Best Answer
    telcoM
    2021-11-25T02:51:31+08:002021-11-25T02:51:31+08:00

    您的所有/media/*挂载似乎都使用了磁盘->部分->raid1->crypt 分层。

    请注意,如果您现有的 2 TB 磁盘以 MBR 样式进行分区,则您无法使用更大的新磁盘真正做到这一点,因为您将达到 MBR 最大容量限制。幸运的是,Linux 软件 RAID 不要求您在 RAID 集的各个部分上使用相同类型的分区(或者实际上,对于非引导磁盘,您可以选择根本不使用任何分区方案)。

    因此,假设这md2是您希望迁移到更大磁盘的 RAID 集,并且您需要先进行交换sdh:

    1. 标记sdh1为失败的 RAID1 组件:mdadm --manage /dev/md2 --fail /dev/sdh1
    2. 从md2RAID 集中删除它:mdadm --manage /dev/md2 --remove /dev/sdh1
    3. 告诉内核磁盘将被热拔出:echo 1 > /sys/block/sdh/device/delete. 根据控制器和磁盘型号,磁盘可能会或可能不会在您执行此操作时实际降速。
    4. 用新磁盘物理更换sdh磁盘。
    5. 找出新的磁盘设备名称(它可能是也可能不是/dev/sdh;我们称之为sdX)。
    6. 如果您希望使用分区,请使用 GPT 分区类型并创建一个覆盖整个磁盘的分区。将分区类型设置为“Linux RAID”(GPT 分区类型 GUID A19D880F-05FC-4D3B-A006-743F0F84911E;大多数 GPT 分区工具都有一些更用户友好的方式来指定。)这个分区将比这个 RAID 集的现有一半大;在这一点上这完全没问题。mdadm将只使用镜像分区所需的数量,sdi1直到您稍后在第 10 步中授予它使用全部容量的权限。

    (如果您使用分区,您可能希望使用一些特定的大小而不是只使用完整的磁盘,以防止您将来可能需要更换磁盘并且可能无法找到替换磁盘具有完全相同数量的块。再说一次,未来的磁盘可能会比当前的磁盘大,这不会成为问题。)

    1. 将新磁盘添加到 RAID 集。如果您对磁盘进行了分区,请使用mdadm --manage /dev/md2 --add /dev/sdX1; 如果您决定将整个磁盘用作未分区的 RAID 设备,请使用mdadm --manage /dev/md2 --add /dev/sdX.
    2. 监视/proc/mdstat以查看同步何时完成。
    3. 对第二个磁盘重复步骤 1-8 sdj。
    4. 当两个磁盘都已更换且同步时,使用mdadm --grow /dev/md2 --size=max允许md2RAID 设备充分利用增加的容量。

    (如果您在上面的第 6 步中选择不使用分区,您也可以使用特定大小而不是--size=max此处,原因与第 6 步相同。)

    1. md2成功调整设备大小后,用于在RAID 集cryptsetup resize /dev/mapper/backup顶部调整加密设备的大小。md2
    2. 最后,在加密设备上调整文件系统的大小,使用fsadm resize /dev/mapper/backup或使用文件系统特定工具(resize2fs /dev/mapper/backup对于 ext2/ext3/ext4 文件系统类型,xfs_growfs /media/backup对于 XFS 等)
    • 1

相关问题

  • GRUB 配置以识别同一 Linux 发行版的不同桌面环境(安装)

  • astyle 不会更改源文件格式

  • 接收有关全新 Debian 的电子邮件

  • Debian Stretch:libgs_plugin_systemd-updates.so 中的 gnome-software 段错误

  • 如何在拼音输入法中输入ü?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve