
以前、Debian X64 サーバーに RAID0 を構成しましたが、今のところ問題なく正常に動作しています。ある日、確認したところdf -h
、ディスク領域の 62% がすでに使用されていることがわかりました。
RAID は 2 台の 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 のサイズの 2 つのパーティションの組み合わせのように見えます (または、異なるサイズで合計 32 GiB になる可能性もあります)。fdisk -l
その後に追加された の出力は、これに矛盾しています。完全な履歴がなければ、 の現在の状態の原因を推測することしかできません/dev/md1
が、RAID デバイスの作成後にパーティション テーブルが変更された可能性が 1 つあります (この一連のイベントがこの状態につながるかどうかはテストしていません)。
これら 2 つのディスク上のパーティション テーブルのみを報告するには、次のようなコマンドを使用します。
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
2 番目のコマンドを実行する前に (そして実際には最初のコマンドを実行する前に) 既存のデータをバックアップしておく必要があります。最初のコマンドの効果を元に戻すことは可能だと思いますmdadm --assemble
が、データをバックアップしてしまえばそれは不要です。
このコマンドのシーケンスをテストしたことはありません (最近はテストしていません) が、私の記憶やドキュメントの読み方と一致しています。デバイス名を正しく入力するように注意してください。RAIDmdadm --create
ミラーを作成するときに、 が 2 つのコンポーネント ディスクのパーティション サイズ全体を使用するかどうかを調べるのは興味深いでしょう。コメントによると、RAID ミラーが必要なようですが、他のものが必要な場合は、 のパラメータ値は--level
異なります。
/etc/mdadm.conf
また、 またはの内容をチェックして、/etc/mdadm/mdadm.conf
望ましくないデフォルト値が指定されていないことを確認することもできます。