脚本笔记8/27/2026

mdadm.sh

来源文件:mdadm.sh
已自动脱敏 3 处敏感信息。

bash
#mdadm做磁盘软阵列
apt install mdadm
# echo -e "n\n w\n" | gdisk /dev/sdb
mdadm -C /dev/md0 -a yes -l 6 -n 4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
mkfs.ext4 /dev/md0
mdadm --detail /dev/md0

mkdir /mnt/guanyin
chmod -R 777 ./guanyin
mount /dev/md0 /mnt/guanyin

echo '/dev/md0 /mnt/guanyin ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
# echo `blkid /dev/md0 | awk '{print $2}' | sed 's/\"//g'` /media/raid0 ext4 defaults 0 0 >> /etc/fstab
# 在新机器上导入磁盘
mdadm --detail --scan
mdadm --assemble --scan



# 如果有任一个分区损坏了,先是设为此分区故障
# mdadm /dev/md0 --set-faulty /dev/sdc1
# 然后再移除损坏分区
# mdadm /dev/md0 --remove /dev/sdc1
# 然后再添加新分区
mdadm /dev/md0 --add /dev/sdc1
# 这时就开始重建新分区数据了,可以通过mdadm -D /dev/md0来查看重建进度

umount /dev/md0

mdadm --stop /dev/md0
mdadm --remove /dev/md0

mdadm --zero-superblock /dev/sda

blkid
lshw -class disk
cat /proc/mdstat

#How To Create RAID Arrays with mdadm on Ubuntu | DigitalOcean
#https://www.digitalocean.com/community/tutorials/how-to-create-raid-arrays-with-mdadm-on-ubuntu#creating-a-raid-6-array

# samba
apt install samba -y
#samba -V
useradd -m simon
[REDACTED_SENSITIVE_LINE]
[REDACTED_SENSITIVE_LINE]
[REDACTED_SENSITIVE_LINE]

cat <<EOF >> /etc/samba/smb.conf
[kuang]
   comment = SambaKuang
   path = /mnt/kuang/
   valid users = simon
   browsable = yes
   guest ok = no
   read only = no
   create mask = 0755
EOF
systemctl restart smbd
ufw allow samba


 
 
#mdadm调优
# getconf PAGE_SIZE 
# 16384*4096*4
# memory_consumed = system_page_size * nr_disks * stripe_cache_size 
#echo 'dev.raid.speed_limit_max = 2000000' >> /etc/sysctl.conf
#echo 'dev.raid.speed_limit_min = 800000' >> /etc/sysctl.conf
#sysctl -p /etc/sysctl.conf

sysctl -w dev.raid.speed_limit_max=2000000
sysctl -w dev.raid.speed_limit_min=800000

blockdev --setra 65536 /dev/md0

#测速
apt install fio
fio -filename=/mnt/guanyin/1 -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=10G -numjobs=10 -runtime=1000 -group_reporting -name=mytest
fio -filename=/mnt/guanyin/1 -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=16k -size=10G -numjobs=10 -runtime=1000 -group_reporting -name=mytest
fio -filename=/mnt/guanyin/1 -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=16k -size=10G -numjobs=10 -runtime=1000 -group_reporting -name=mytest
fio -filename=/mnt/guanyin/1 -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=16k -size=10G -numjobs=10 -runtime=1000 -group_reporting -name=mytest
fio -filename=/mnt/guanyin/1 -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=16k -size=10G -numjobs=10 -runtime=100 -group_reporting -name=mytest\
 -ioscheduler=noop
 
 #扩容
 mdadm --grow /dev/md0 -n 5
 resize2fs /dev/md0
 
 
 mdadm /dev/md0 --fail /dev/sda1 --remove /dev/sda1