Linux磁盘分区

如果磁盘容量小于2TB,系统默认使用MBR分区表来安装。

这里强行使用GPT分区表分区;install centos7选项按tab键,在末尾输入inst.gpt关键字。

1
2
3
4
5
6
# 40GB分区情况(根据实际情况划为其它如:/data、/var等)
BIOS boot 2MB
/boot 1GB
/ 10GB
/home 5GB
swap 1GB

Linux磁盘管理

  • lsblk列出系统上的所有磁盘列表
  • blkid列出设备参数
  • parted device_name print列出磁盘类型和分区信息

磁盘分区

MBR分区表使用fdisk分区,GPT分区表使用gdisk分区

1
gdisk device_name
  • delete a partition 删除一个分区
  • add a new partition 增加一个分区
  • print the partition table 打印分区表
  • quit without saving changes 不保存分区离开
  • write table to disk and exit 保存分区操作后离开

不要在MBR分区表使用gdisk,也不要在GPT分区表使用fdisk;如果按错会失去整个分区记录。

新建分区时注意Last sector参数输出,默认把所有空闲空间分配出去。一般参数都是+xG,也就是加减多少G或者M。

新建完成之后保存,cat /proc/partitions发现分区表没有更新;通过partprobe -s更新分区表。

硬盘格式化

1
2
mkfs.xfs device_name
mkfs.ext4 device_name

文件系统挂载

1
2
mount uuid/device_name 挂载点
umount 挂载点

启动挂载vi /etc/fstab,编辑完成之后保存测试mount -a并查看是否挂载成功。

如果被挂载了先umount

1
uuid=""	挂载点(例如:/data/test)	文件系统(例如:xfs)	defaults	0	0

LVM

1、PV阶段

  • pvcreate将物理分区建立为PV。
  • pvscan查找目前系统中任何具有PV的磁盘。
  • pvdisplay显示目前系统上的PV状态。
  • pvremove将PV属性删除。

2、VG阶段

  • vgcreate建立为VG。
  • vgscan查找系统上是否有vg存在。
  • vgdisplay显示目前系统上的VG状态。
  • vgextend在VG内增加额外的PV。
  • vgreduce在VG内删除PV。
  • vgchange设置VG是否启动。
  • vgremove删除一个VG。
1
2
3
4
vgcreate vg_name pv_name
-s参数:指定PE大小

例子:vgcreate -s 16M test_vg /dev/sda{6,7}

3、LV阶段

  • lvcreate建立为LV。
  • lvscan查询系统上的LV。
  • lvdisplay显示目前系统上的LV状态。
  • lvextendLV增加容量。
  • lvreduceLV减少容量。
  • lvresize对LV的容量大小进行调整。
  • lvremove删除一个LV。
1
2
3
lvcreate -L size -n lv_name vg_name
-L 最小单位是PE(容量单位:M、G、T)
-l PE个数划为,前面vg一个PE 16MB

LV创建成功之后,后面的所有操作必须使用全名,即/dev/vg_name/lv_name。

后面进行格式化和挂载。

1
2
3
4
5
6
7
8
针对LV扩容
1、确定扩容大小,查看VG剩余容量是否满足
2、如果满足,则直接使用lvextend,不满足则先对VG增加PV来增加容量。

例子:
lvresize -L +300M /dev/test_vg/test_lv
# 需要更新一下
xfs_growfs /dev/test_vg/test_lv

针对不同格式的更新:

resize2fs 针对文件系统ext2 ext3 ext4
xfs_growfs 针对文件系统xfs

使用常见举例:

https://blog.csdn.net/yy4545/article/details/125873011

关于软件磁盘阵列

mdadm [模式] [RAID 设备文件名] [选项]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
模式: - Assemble:加入一个已经存在的阵列;
- Build:创建一个没有超级块的阵列;
- Create:创建一个阵列,每个设备都具有超级块;
- Manage:管理阵列,如添加设备和删除损坏设备;
- Misc:允许单独对阵列中的设备进行操作,如停止阵列;
- Follow or Monitor:监控 RAID 状态; Grow:改变 RAID 的容量或阵列中的数目;

选项: -s,-scan:扫描配置文件或/proc/mdstat 文件,发现丟失的信息;
-D,-detail:查看磁盘阵列详细信息;
-C,-create:建立新的磁盘阵列,也就是调用 Create 模式;
-a,-auto=yes:采用标准格式建立磁阵列;
-n,-raicklevices=数字:使用几块硬盘或分区组成 RAID;
-l,-level=级别:创建 RAID 的级别,可以是 0,1,5;
-x,-spare-devices=数字:使用几块硬盘或分区组成备份设备;
-a,-add 设备文件名:在已经存在的 RAID 中加入设备;
-r,-remove 设备文件名名:在已经存在的 RAID 中移除设备;
-f,-fail 设备文件名:把某个组成 RAID 的设备设置为错误状态;
-S,-stop:停止 RAID 设备;
-A,-assemble:按照配置文件加载 RAID