ご存知のように、私のLinuxのトラブルシューティング技術はそれほど印象的ではありません。一方、私は指示にかなりよく従うことができます。 Linux raidを使用するLinuxサーバーがあります。うまくいき、約半年間問題はありませんでしたが、電源が切れて以来同じ問題が発生しました。レイドを再構築した後もすべてのファイルがそのまま残っていて幸いです。サーバーを再起動すると、レイドデバイスmd0が消えました。
pi@pinas:~ $ cat /proc/mdstat
Personalities :
unused devices: <none>
pi@pinas:~ $ ls /dev/md*
pi@pinas:~ $
私が一つ見つけた問題はここにありますこれは他の人に役立つようですが、試してみましたが役に立ちませんでした。他のサイトもいくつか確認してみましたが、みんな似たような話をしました。私はwebminを使用してraidを生成し、mdadm.confは "looks" OKです。私はインターネット上で正しいものを検索しているのか、それとも正しいログファイルを探しているのかわかりません。誰でもどんなアイデアがありますか?
よろしくお願いします。
***編集1
root@pinas:/home/pi# service mdadm start
Failed to start mdadm.service: Unit mdadm.service is masked.
mdadmサービスが実行されているかどうかを知りたいです。プロセスが現在システムでアクティブでなく、起動時に起動するように設定されていることを確認する方法、起動方法、または起動時に起動するように設定する方法がわかりません。
***編集2
systemctl list-unit-files
[email protected] static
[email protected] static
mdadm-waitidle.service masked
mdadm.service masked
[email protected] static
mdmonitor.service static
私はこれを見つけました。これが悪いのかどうかはわかりませんが、私は飛び出しているようです。これを行うべきですか?それらのどれも活性化するように言わなかったが、私はそうしなければならないと思います。どんなアイデアがありますか?
***編集3
systemctl list-unit-files
[email protected] static
[email protected] static
mdadm-waitidle.service masked
mdadm.service masked
[email protected] static
mdmonitor.service static
dpkg-reconfigure mdadm
update-initramfs: deferring update (trigger activated)
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
Processing triggers for initramfs-tools (0.120+deb8u3) ...
@telcoMが提案したコマンドを実行しましたが、これが出力されました。また、このコマンドを再インストールしてみましたが、出力はまだ同じです。
同じ名前の別のペダルをオンラインで見つけましたが、これまで役に立つものが見つかりませんでした。問題は起動時にサービスが開始されないことに関連しているようですが、問題を解決する方法を知るにはLinuxサービスの経験が不足しています。 @roaimaはinitramfsに問題があると思いますが、確認または修正する方法がわかりません。誰でもどんなアイデアがありますか?
***編集4
CREATE owner=root group=disk mode=0660 auto=yes
HOMEHOST <system>
MAILADDR root
ARRAY /dev/md/0 metadata=1.2 UUID=d3434dfc:2fb4792e:0b64f806:67e35ee3 name=raspberrypi:0
ARRAY /dev/md/0 metadata=1.2 UUID=40fb937f:870c7c13:46774666:87445bc5 name=pinas:0
これは私のmdadm.confファイルの出力です。リストされた最初の配列の名前が正確ではないので、これは面白いです。
答え1
このレシピは、同じ問題に直面しても私にとって効果的でした。回答を見つけようとしてWeb全体を検索したところ、ついにこれが見つかりましたが、まだ役に立ちません。
私の考えでは、問題は多面的です。
mdadmは、次の再起動時に
/dev/md0
デバイスファイルを再割り当てします。/dev/md127
したがって、fstabのデバイスファイルを使用することはできません。結局、作成されたファイルシステムのUUIDを使用するようになりました。Web上のほぼすべてのRAIDドライブ設定チュートリアルでは、以下のようにドライバデバイスファイルを使用してRAIDデバイスを作成する方法を示します。
mdadm --create --verbose /dev/md0 --level=0 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd
代わりに、次のパーティションデバイスファイルを使用しました。
mdadm --create --verbose /dev/md0 --level=0 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
gdisk
2番目の形式では、各ディスクにパーティションを使用するか、適切に作成する必要がありますfdisk
。私はgdisk
それをtypefd00
、raidパーティションとして使用して指定します。アップデートの必要性について多くの議論がありました
/etc/mdadm/mdadm.conf
。これは間違っています。わざとそのファイルを削除しました。不要。 (下記参照)
それがすべてです。全体のレシピは以下です...
fd00
Linux RAIDタイプのパーティションを1つ使用して各ドライブを分割します。
root@teamelchan:~# gdisk /dev/sda
Command (? for help): n
Partition number (1-128, default 1):
First sector (2048-3907029134, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-3907029134, default = 3907029134) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): fd00
Changed type of partition to 'Linux RAID'
Command (? for help): p
Disk /dev/sda: 3907029168 sectors, 1.8 TiB
Model: ST2000DM001-1ER1
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): F81E265F-2D02-864D-AF62-CEA1471CFF39
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 2048, last usable sector is 3907029134
Partitions will be aligned on 2048-sector boundaries
Total free space is 0 sectors (0 bytes)
Number Start (sector) End (sector) Size Code Name
1
2048 3907029134 1.8 TiB FD00 Linux RAID
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sda.
The operation has completed successfully.
これで、/ devにディスクデバイスとパーティションデバイスが表示されます。
root@teamelchan:~# ls /dev/sd[a-d]*
/dev/sda /dev/sda1 /dev/sdb /dev/sdb1 /dev/sdc /dev/sdc1 /dev/sdd /dev/sdd1
次に、ディスクデバイスの代わりにパーティションデバイスファイルを使用して、mdadmを介して目的のRAIDを作成します。
root@teamelchan:~# mdadm --create --verbose /dev/md0 --level=0 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
mdadm: chunk size defaults to 512K
mdadm: /dev/sda1 appears to contain an ext2fs file system
size=471724032K mtime=Sun Nov 18 19:42:02 2018
mdadm: /dev/sda1 appears to be part of a raid array:
level=raid0 devices=4 ctime=Thu Nov 22 04:00:11 2018
mdadm: /dev/sdb1 appears to be part of a raid array:
level=raid0 devices=4 ctime=Thu Nov 22 04:00:11 2018
mdadm: /dev/sdc1 appears to be part of a raid array:
level=raid0 devices=4 ctime=Thu Nov 22 04:00:11 2018
mdadm: /dev/sdd1 appears to contain an ext2fs file system
size=2930265540K mtime=Sun Nov 18 23:58:02 2018
mdadm: /dev/sdd1 appears to be part of a raid array:
level=raid0 devices=4 ctime=Thu Nov 22 04:00:11 2018
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
次に、/dev/disk
新しいRAIDに/dev/md0
関連付けられたUUIDがあることを確認してください。ダメだ。
root@teamelchan:~# ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 Nov 22 04:24 4777-FB10 -> ../../sdf1
lrwxrwxrwx 1 root root 10 Nov 22 04:24 D616BDCE16BDAFBB -> ../../sde1
lrwxrwxrwx 1 root root 10 Nov 22 04:24 e79571b6-eb75-11e8-acb0-e0d55e117fa5 -> ../../sdf2
新しいファイルシステムを作成したら、UUIDを取得する必要があります。/dev/md0
root@teamelchan:~# mkfs.ext4 -F /dev/md0
mke2fs 1.44.1 (24-Mar-2018)
Creating filesystem with 2685945088 4k blocks and 335745024 inodes
Filesystem UUID: 7bd945b4-ded9-4ef0-a075-be4c7ea246fb
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544, 1934917632,
2560000000
Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done
見て、そこにいます。
root@teamelchan:~# ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 Nov 22 04:24 4777-FB10 -> ../../sdf1
lrwxrwxrwx 1 root root 9 Nov 22 04:43 7bd945b4-ded9-4ef0-a075-be4c7ea246fb -> ../../md0
lrwxrwxrwx 1 root root 10 Nov 22 04:24 D616BDCE16BDAFBB -> ../../sde1
lrwxrwxrwx 1 root root 10 Nov 22 04:24 e79571b6-eb75-11e8-acb0-e0d55e117fa5 -> ../../sdf2
/ etc / fstabを変更して新しいRAIDマウントを追加するときは、デバイスファイルの代わりにUUIDを使用する必要があります。
root@teamelchan:~# cat /etc/fstab
UUID=e79571b6-eb75-11e8-acb0-e0d55e117fa5 / ext4 defaults 0 0
UUID=4777-FB10 /boot/efi vfat defaults 0 0
/swap.img none
swap sw 0 0
UUID=7bd945b4-ded9-4ef0-a075-be4c7ea246fb /md0/tweets ext4 auto 0 0
ここでは/etc/mdadm/mdadm.conf
必要ありません。
root@teamelchan:~# ls -l /etc/mdadm
total 0
再起動
root@teamelchan:~# reboot
Connection to 192.168.0.131 closed by remote host.
Connection to 192.168.0.131 closed.
RAIDがマウントされていますが、mdadmはデバイスファイル名をmd0
次から変更しました。md127
幸い、実際のデバイスファイルの代わりにUUIDを使用しました。
root@teamelchan:~# df /md0/tweets
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/md127 10658016696 73660 10120737636 1% /md0/tweets
/ devでmd0が消えたことを確認してください。
root@teamelchan:~# ls /dev/md*
/dev/md127
/dev/md:
それはすべてです。これで、600MB/秒以上で動作する10TB RAID0を楽しんでいます。
root@teamelchan:~# hdparm -tT /dev/md127
/dev/md127:
Timing cached reads: 26176 MB in 1.99 seconds = 13137.47 MB/sec
Timing buffered disk reads: 1878 MB in 3.00 seconds = 625.13 MB/sec
答え2
/proc/mdstat
まだRAID機能(RAID1、RAID5など)がロードされていないため、RAIDセットを有効にしようとしていないことを示します。
Failed to start mdadm.service: Unit mdadm.service is masked.
このメッセージは、mdadm.service
可能な限り強力な方法でサービスが無効になっていることを示します。つまり、サービスを開始しようとする明示的な試みは行われず、他のコンテンツがサービスに依存してもサービスは開始されません。
のようにロイマに関する質問、rootで次のコマンドを実行してみてください。
dpkg-reconfigure mdadm # Choose "all" disks to start at boot
update-initramfs -u # Updates the existing initramfs
まず、mdadm
パッケージを再構成し、すべてのRAIDセットを検出し、起動時に自動的にアクティブになるRAIDセットを選択できるようにします。一般的に「すべて」は良い答えです。mdadm.service
私が正しく理解したら、ブロックされることも考慮する必要があります。
完了すると、2番目のコマンドはinitramfsを更新し、更新された構成ファイルもinitramfsで更新され、起動の初期段階で実行されるスクリプトはRAIDセットが存在し、それを有効にする必要があるという情報を取得します。
答え3
少なくとも問題の一部は/dev/md/0
あなたの問題ですmdadm conf
。まず問題を解決する必要があります。
その後、配列を実行し、最後に次のURLの指示に従うことができます。新しいRAIDアレイが自動的に組み立てられず、起動の問題が発生する-
dpkg-reconfigure mdadm # Choose "all" disks to start at boot
update-initramfs -u # Updates the existing initramfs