如何在 CentOS 中在两个驱动器上创建一个大分区?

如何在 CentOS 中在两个驱动器上创建一个大分区?

我有一个新的专用服务器,只想用于备份目的。

[root@dedi ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        20G  942M   18G   6% /
tmpfs           7.8G     0  7.8G   0% /dev/shm
/dev/sda1       283M   32M  236M  12% /boot
/dev/sda2       1.8T   68M  1.7T   1% /data
[root@dedi ~]# cat /proc/partitions
major minor  #blocks  name

   8        0 1953481816 sda
   8        1     307200 sda1
   8        2 1932167168 sda2
   8        3   20480000 sda3
   8        4     524288 sda4
   8       16 1953481816 sdb

我想保留 tmpfs 和 /boot 的原样,并用其余部分创建一个大的~4TB 分区。

我知道这是一个相对简单的事情,但我真的很感激您亲手指导一下,因为我以前从未做过任何 Linux 分区,而且不想把全新的盒子弄得一团糟……

非常感谢

答案1

您需要使用 LVM(逻辑卷管理器)

首先,您必须意识到,如果任何物理磁盘发生故障,4TB 大卷也会发生故障。请先备份您的数据!

基本上,您需要做的就是以 lvm 格式对数据分区(/ dev / sda2 和 / dev / sdb1),然后:

  • 创建两个物理卷(pvcreate /dev/sda2 /dev/sdb1
  • 使用两个物理卷创建一个卷组(vgcreate VG_DATA /dev/sda2 /dev/sdb1
  • 创建一个逻辑卷(lvcreate -l 100%FREE -n DATA VG_DATA
  • 在新卷上创建文件系统(mkfs.ext3 /dev/VG_DATA/DATA
  • 挂载卷 ( mount /dev/VG_DATA/DATA /data)

有很多网站提供 lvm 操作指南,例如一。

Lvm 远不止这 4 个命令,如果你想要高级配置,请阅读详细手册。希望它能对你有所帮助

答案2

我个人觉得LVM对于这个简单的任务来说有点过度了,我建议mdadm创建一个RAID大批。

现在你有两个选择:

  • 要么线性阵列,这将根据两个源分区生成一个连接分区
  • 或者RAID-0,这有一个额外的限制,即源分区必须具有相同的大小,但提供了相当大的性能提升阅读和写作。

但请注意,如果任何一个磁盘发生故障,至少一半甚至全部数据都会丢失。如果您使用线性阵列,部分数据可能可以恢复,但RAID-0几乎肯定会全部被毁坏,在决定选择哪种阵列类型时,请确定您想要权衡这些利弊。

接下来,你需要创造每个磁盘上都有一个大分区,你可以这样做磁盘管理或任何其他工具,我不会在这里详细介绍,因为其他地方有更好的指南。

然后你跑mdadm形式为:

# for a RAID-0 Array
mdadm --create --verbose /dev/md0 --level=stripe /dev/sda1 /dev/sdb2

# for a linear Array
mdadm --create --verbose /dev/md0 --level=linear /dev/sda1 /dev/sdb2

其中/dev/sda1/dev/sdb2替换为我们在上一步中创建的分区。然后我建议快速浏览一下mdadm 手册页了解您可能需要如何维护这个数组。

您可以选择按照 Max 的建议使用LVM,如果您最终得到一个非常复杂的配置,这可能会更好地为您服务,但我觉得对于像您这样的简单情况来说这不是真正需要的,如果配置正确,raid 也可以提供比 LVM 显着的性能改进,但是这超出了这个答案的范围。

答案3

应该指出的是,上述操作将清除您在 /data 上的所有数据。

您还必须在新的 RAID0 分区上创建一个新的文件系统(按照 LVM 示例)并更新您的 fstab,以便将其挂载为 /data(或其他)

相关内容