使用 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.
写入卡住了,想找坏道,但是没找到,然后发现它自己好了。。