linux disk

  1. Fdisk & parted
    1. 常用命令
    2. 磁盘
      1. 分区
    3. 格式化
    4. 清理swap
    5. 批量脚本

Fdisk & parted

标签(空格分隔): Fdisk Parted Linux 运维 磁盘


常用命令

  • /etc/fstab

      LABEL=/home1    /home1  ext4    defaults    0   0
    
  • 显示存储装置的label

    • ls -l /dev/disk/by-label
    • blkid -s LABEL
    • lsblk -f
  • parted -s /dev/sdb mklabel gpt mkpart primary 1 4T

  • e2label /dev/sdb1 /home1

    • sudo e2label /dev/sdm1 #显示已经设定的label
  • mkfs.ext4 /dev/sdb1

  • mkdir -p /home1

  • mount /dev/sdb1

  • umount /dev/sdb1

磁盘

分区

命令:

fdisk
    m 可以查看指令
    n 添加
    d 删除
    w 存储实现划分

大于4T的磁盘分区时无法使用fdisk分区,需要使用parted

parted -s /dev/sdb mklabel gpt mkpart primary 1 4T

选项:

    -i 交互方式
    -s 脚本方式,不提示用户
    -v 版本

parted /dev/sdc

命令:

    help
    print 打印磁盘信息
    mklabel gpt    将MBR磁盘格式化为GPT类型
    mkpart PART-TYPE START END
    mkpart primary 1 4T
    rm 1
    quit

sudo parted -s /dev/sdk mklabel gpt mkpart primary 0 100%
--有可能提示分区没有对齐
--Warning: The resulting partition is not properly aligned for best performance.
sudo parted -s /dev/sdk mklabel gpt mkpart primary 1 100%

查看当前Linux分区情况

fdisk -l

格式化

命令:

mkfs

格式:

mkfs –t 文件系统类型 分区设备

参数:

-t : 给定档案系统的型式,Linux 的预设值为 ext2
-c : 在制做档案系统前,检查该partition 是否有坏轨。非常慢。
-V : 详细显示模式

sudo mkfs.ext4 /dev/sdb1

set -e
umount /dev/sdj1;mkfs -V -t ext4 /dev/sdj1;mount /dev/sdj1 /home9;
umount /dev/sdk1;mkfs -V -t ext4 /dev/sdk1;mount /dev/sdk1 /home10;

umount /dev/sdv1; mkfs -t ext4 /dev/sdv1; mount /dev/sdv1 /home21; umount /dev/sdw1; mkfs -t ext4 /dev/sdw1; mount /dev/sdw1 /home22; umount /dev/sdx4; mkfs -t ext4 /dev/sdx1; mount /dev/sdx1 /home23;

清理swap

1
2
3
4
5
sync
echo 3 > /proc/sys/vm/drop_caches
swapoff -a
swapon -a
echo 0 > /proc/sys/vm/drop_caches

解释:

  1. sync 清buff
  2. echo 3 > /proc/sys/vm/drop_caches 清cache
  3. swapoff -a 关闭
  4. swapon -a 打开
  5. echo 0 > /proc/sys/vm/drop_caches 恢复cache

批量脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/usr/bin/env bash
echo "LABEL=/home1 /home1 ext4 defaults 0 0" | sudo tee -a /etc/fstab
echo "LABEL=/home2 /home2 ext4 defaults 0 0" | sudo tee -a /etc/fstab
echo "LABEL=/home3 /home3 ext4 defaults 0 0" | sudo tee -a /etc/fstab
echo "LABEL=/home4 /home4 ext4 defaults 0 0" | sudo tee -a /etc/fstab
echo "LABEL=/home5 /home5 ext4 defaults 0 0" | sudo tee -a /etc/fstab
echo "LABEL=/home6 /home6 ext4 defaults 0 0" | sudo tee -a /etc/fstab
echo "LABEL=/home7 /home7 ext4 defaults 0 0" | sudo tee -a /etc/fstab
echo "LABEL=/home8 /home8 ext4 defaults 0 0" | sudo tee -a /etc/fstab
echo "LABEL=/home9 /home9 ext4 defaults 0 0" | sudo tee -a /etc/fstab
echo "LABEL=/home10 /home10 ext4 defaults 0 0" | sudo tee -a /etc/fstab
echo "LABEL=/home11 /home11 ext4 defaults 0 0" | sudo tee -a /etc/fstab
echo "LABEL=/home12 /home12 ext4 defaults 0 0" | sudo tee -a /etc/fstab

echo "parted mkpart"
sudo parted -s /dev/sdb mklabel gpt mkpart primary 1 100%
sudo parted -s /dev/sdc mklabel gpt mkpart primary 1 100%
sudo parted -s /dev/sdd mklabel gpt mkpart primary 1 100%
sudo parted -s /dev/sde mklabel gpt mkpart primary 1 100%
sudo parted -s /dev/sdf mklabel gpt mkpart primary 1 100%
sudo parted -s /dev/sdg mklabel gpt mkpart primary 1 100%
sudo parted -s /dev/sdh mklabel gpt mkpart primary 1 100%
sudo parted -s /dev/sdi mklabel gpt mkpart primary 1 100%
sudo parted -s /dev/sdj mklabel gpt mkpart primary 1 100%
sudo parted -s /dev/sdk mklabel gpt mkpart primary 1 100%
sudo parted -s /dev/sdl mklabel gpt mkpart primary 1 100%
sudo parted -s /dev/sdm mklabel gpt mkpart primary 1 100%

echo "mkfs.ext4 ..., need wait very long ..."
sudo mkfs.ext4 -q /dev/sdb1 &
sudo mkfs.ext4 -q /dev/sdc1 &
sudo mkfs.ext4 -q /dev/sdd1 &
sudo mkfs.ext4 -q /dev/sde1 &
sudo mkfs.ext4 -q /dev/sdf1 &
sudo mkfs.ext4 -q /dev/sdg1 &
sudo mkfs.ext4 -q /dev/sdh1 &
sudo mkfs.ext4 -q /dev/sdi1 &
sudo mkfs.ext4 -q /dev/sdj1 &
sudo mkfs.ext4 -q /dev/sdk1 &
sudo mkfs.ext4 -q /dev/sdl1 &
sudo mkfs.ext4 -q /dev/sdm1 &

wait
echo "mkfs.ext4 OK"

echo "e2label"
sudo e2label /dev/sdb1 /home1
sudo e2label /dev/sdc1 /home2
sudo e2label /dev/sdd1 /home3
sudo e2label /dev/sde1 /home4
sudo e2label /dev/sdf1 /home5
sudo e2label /dev/sdg1 /home6
sudo e2label /dev/sdh1 /home7
sudo e2label /dev/sdi1 /home8
sudo e2label /dev/sdj1 /home9
sudo e2label /dev/sdk1 /home10
sudo e2label /dev/sdl1 /home11
sudo e2label /dev/sdm1 /home12

echo "mkdir mount point"
sudo mkdir -p /home1
sudo mkdir -p /home2
sudo mkdir -p /home3
sudo mkdir -p /home4
sudo mkdir -p /home5
sudo mkdir -p /home6
sudo mkdir -p /home7
sudo mkdir -p /home8
sudo mkdir -p /home9
sudo mkdir -p /home10
sudo mkdir -p /home11
sudo mkdir -p /home12

echo "mount"
sudo mount /dev/sdb1
sudo mount /dev/sdc1
sudo mount /dev/sdd1
sudo mount /dev/sde1
sudo mount /dev/sdf1
sudo mount /dev/sdg1
sudo mount /dev/sdh1
sudo mount /dev/sdi1
sudo mount /dev/sdj1
sudo mount /dev/sdk1
sudo mount /dev/sdl1
sudo mount /dev/sdm1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/env bash
dv=${1?"muset set device, like /dev/sdo"}
po=${2?"muset set point, like /home15"}

grep -E "$po\s" /etc/fstab
if [ $? -ne 0 ]; then
echo "LABEL=$po $po ext4 defaults 0 0" | sudo tee -a /etc/fstab
fi

echo "parted mkpart"
sudo parted -s $dv mklabel gpt mkpart primary 1 100%

echo "mkfs.ext4 ..., need wait very long ..."
sudo mkfs.ext4 -q "${dv}1"

echo "mkfs.ext4 OK"

echo "e2label"
sudo e2label "${dv}1" $po

echo "mkdir mount point"
sudo mkdir -p $po

echo "mount"
sudo mount "${dv}1"

echo "ALL IS OK"

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com

💰

×

Help us with donation