使用 mdadm 创建软件 raid
Comment有很多平时配置的细节都丢失了。。需要趁机记录一下,防止以后全忘了。
1 sector = 1 LBA = 512 Bytes
1 block = 1 KiB
mdadm
可以用来管理软件 raid。
1 | mdadm -C /dev/md0 -l raid0 -n 2 /dev/sdX /dev/sdY |
有的时候需要单独操作 /dev/sdX
,此时就需要:
1 | mdadm --stop /dev/md0 |
然后设备就消失了。之后依然可以用相同的办法重建,但不知道是否需要用相同的顺序。
1 | mdadm -D /dev/md0 |
显示 raid 的信息。
直接在设备上创建 ext4 文件系统实操不行,必须要有分区表;必须要创建至少一个分区。
重新组装 raid:
1 | mdadm --assemble /dev/md0 /dev/sdX /dev/sdY |
保存当前 raid 配置,并自动执行:
1 | mdadm -E -s -v >> /etc/mdadm/mdadm.conf |
注意记得修改 /etc/fstab
如果 raid 出了问题,记得加 ro 挂载为只读
1 | mount -o ro /dev/md0p1 /mnt/storage |
一些其他文件系统的操作:
查看文件占用的扇区号:
1 | debugfs -R "stat /path" /dev/blockdevice |
1 | hdparm --fibmap /path |
扫描坏扇区(这次不知道为什么,屁都没扫到):
non-destructive write test:
1 | badblocks -svn -o output_file /dev/sdXn |
read-only test:
1 | badblocks -sv -o output_file /dev/sdXn |
查看占用文件的进程(和 lsof 有什么区别?)
1 | fuser -m path |
fuser is more useful in identifying process id opening a particular file. lsof is useful to find out all file(s) opened by particular process. Save this answer.
写入卡住了,想找坏道,但是没找到,然后发现它自己好了。。