Debian:RAID 驱动器显示已使用 62% 的磁盘空间,尽管剩余空间很大

Debian:RAID 驱动器显示已使用 62% 的磁盘空间,尽管剩余空间很大

不久前,我在我们的 Debian X64 服务器上配置了 RAID0,到目前为止,它运行良好,没有问题。有一天,我刚刚检查df -h,它显示已使用了 62% 的磁盘空间。

RAID 配置了两个 2TB 驱动器,目前只使用了 20GB,但是当我看到输出时,它显示大小为 34G。我的设置有问题吗?

df -H 的输出:

df -H
Filesystem                                              Size  Used Avail Use% Mounted on
rootfs                                                  456G  7,3G  425G   2% /
udev                                                     11M     0   11M   0% /dev
tmpfs                                                   3,4G  300k  3,4G   1% /run
/dev/disk/by-uuid/ae73679c-c3cd-4a60-bcbb-5b6ddce867f7  456G  7,3G  425G   2% /
tmpfs                                                   5,3M     0  5,3M   0% /run/lock
tmpfs                                                    11G  4,1k   11G   1% /run/shm
/dev/sdc2                                               529M   41M  461M   9% /boot
// This last one   
 /dev/md1                                                 34G   20G   13G  62% /media/attachment

mdadm --detail /dev/md1 的输出:

/dev/md1:
        Version : 1.2
  Creation Time : Wed Apr 29 11:12:21 2015
     Raid Level : raid0
     Array Size : 33553408 (32.00 GiB 34.36 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Wed Apr 29 11:12:21 2015
          State : clean 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

     Chunk Size : 512K

           Name : legion03:1  (local to host legion03)
           UUID : 68e853a6:7af46176:d9c147c7:6ff87bb0
         Events : 0

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1

输出

fdisk -l | grep Disk

fdisk -l | grep Disk
Disk /dev/md1 doesn't contain a valid partition table
Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
Disk identifier: 0x00089ca4
Disk /dev/sdc: 480.1 GB, 480103981056 bytes
Disk identifier: 0x00047ef7
Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
Disk identifier: 0x000275d2
Disk /dev/md1: 34.4 GB, 34358689792 bytes
Disk identifier: 0x00000000

我的 RAID0 设置有问题吗?任何帮助都很好。谢谢。

更新

fdisk -l 的输出:

fdisk -l 

Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
81 heads, 63 sectors/track, 765633 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00089ca4

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048  3907029167  1953513560   fd  Linux raid autodetect

Disk /dev/sdc: 480.1 GB, 480103981056 bytes
255 heads, 63 sectors/track, 58369 cylinders, total 937703088 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00047ef7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048    33556480    16777216+  82  Linux swap / Solaris
/dev/sdc2        33558528    34607104      524288+  83  Linux
/dev/sdc3        34609152   937701040   451545944+  83  Linux

Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
81 heads, 63 sectors/track, 765633 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000275d2

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048  3907029167  1953513560   fd  Linux raid autodetect

Disk /dev/md1: 34.4 GB, 34358689792 bytes
2 heads, 4 sectors/track, 8388352 cylinders, total 67106816 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 524288 bytes / 1048576 bytes
Disk identifier: 0x00000000

Disk /dev/md1 doesn't contain a valid partition table

答案1

您的/dev/md1似乎是两个分区的组合,每个分区大小为 16 GiB(或者可能是不同的大小,加起来为 32 GiB)。fdisk -l之后添加的输出与此相矛盾。 如果没有完整的历史记录,我们只能推测导致当前状况的原因/dev/md1,但有一种可能性是分区表在创建 RAID 设备后发生了变化(我还没有测试过该事件序列是否会导致这种情况)。

要仅报告这两个磁盘上的分区表,请使用以下命令:

fdisk -l /dev/sd[ab]

如果您想保留该分区中的 20G 数据,则需要将其复制到其他地方然后再重新创建/dev/md1

/dev/sda和上的现有分区表/dev/sdb适用于这些磁盘上的 RAID 分区。我删除了之前关于如何(以及是否)对这些磁盘进行分区的评论。

要拆除并重新创建,/dev/md1您可以使用以下命令序列:

mdadm --stop /dev/md1
mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sd[ab]1

我相信第一个命令是非破坏性的,但您需要在/dev/md1运行第二个命令之前备份现有数据(实际上,在运行第一个命令之前)。我相信mdadm --assemble这可以让您逆转第一个命令的效果,但一旦您的数据备份,这就没有必要了。

我没有测试过这个命令序列(最近也没有),但它与我的记忆和我阅读的文档一致。注意正确输入设备名称。mdadm --create在创建 RAID 镜像时,找出是否使用两个组件磁盘的完整分区大小将会很有趣。您的评论表明您想要一个 RAID 镜像;如果您想要其他东西,参数值--level会有所不同。

您可能还想检查/etc/mdadm.conf或的内容/etc/mdadm/mdadm.conf以确保它们没有指定不需要的默认值。

相关内容