硬盘
一般的硬盘设备都会是以“/dev/sd”开头的。一台主机上可以有多块硬盘,因此系统采用 a-p 来代表 16 块不同的硬盘(默认从 a 开始分配),而且硬盘的分区编号也很有讲究:
➢ 主分区或扩展分区的编号从 1 开始,到 4 结束;
➢ 逻辑分区从编号 5 开始。
fdisk 命令
在 Linux 系统中,管理硬盘设备最常用的方法就当属 fdisk 命令了。fdisk 命令用于管理磁盘分区,格式为“fdisk [磁盘名称]”,它提供了集添加、删除、转换分区等功能于一身的“一站式分区服务”。
du 命令
用于查看文件数据占用量的 du 命令,其格式为“du [选项] [文件]”。简单来说,该命令就是用来查看一个或多个文件占用了多大的硬盘空间。
SWAP(交换)分区是一种通过在硬盘中预先划分一定的空间,然后将把内存中暂时不常用的数据临时存放到硬盘中,以便腾出物理内存空间让更活跃的程序服务来使用的技术,其设计目的是为了解决真实物理内存不足的问题。但由于交换分区毕竟是通过硬盘设备读写数据的,速度肯定要比物理内存慢,所以只有当真实的物理内存耗尽后才会调用交换分区的资源。
交换分区 - 硬盘:
fdisk /dev/sd0
p
n
t
82
w
mkswap /dev/sdb6
vim /etc/fstab
swapon -a
swapon -s
swapoff /dev/sdb6
交换分区 - 文件:
dd if=/dev/zero of=/swapfile bs=1M count=100
mkswap /swapfile
vim /etc/fstab
swapon /swapfile
swapon -s
逻辑卷
LVM是 Logical Volume Manager(逻辑卷管理)的简写,LVM将若干个磁盘或者磁盘分区连接为一个整块的卷组,形成一个存储池。管理员可以在卷组上任意创建逻辑卷,并进一步在逻辑卷上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配。
记住创建lvm的步骤:物理硬盘/分区--->物理卷(PV)--->卷组(VG)--->逻辑卷(LVM)--->格式化成文件系统
创建逻辑卷
- 让新添加的两块硬盘设备支持 LVM 技术。
pvcreate /dev/sdb /dev/sdc
- 把两块硬盘设备加入到 storage 卷组中,然后查看卷组的状态。
vgcreate storage /dev/sdb /dev/sdc
- 切割出一个约为 150MB 的逻辑卷设备。
在对逻辑卷进行切割时有两种计量单位。第一种是以容量为单位,所使用的参数为-L。例如,使用-L 150M 生成一个大小为 150MB 的逻辑卷。另外一种是以基本单元的个数为单位,所使用的参数为-l。
每个基本单元的大小默认为 4MB。例如,使用-l 37 可以生成一个大小为37×4MB=148MB 的逻辑卷。
lvcreate -n vo -l 37 storage
lvdisplay
- 把生成好的逻辑卷进行格式化,然后挂载使用。
Linux 系统会把 LVM 中的逻辑卷设备存放在/dev 设备目录中(实际上是做了一个符号链接),同时会以卷组的名称来建立一个目录(挂载点),其中保存了逻辑卷的设备映射文件(即/dev/卷组名称/逻辑卷名称)。
mkfs.ext4 /dev/storage/vo
mkdir /wl
mount /dev/storage/vo /wl
- 查看挂载状态,并追加写入到配置文件,使其永久生效。
df -h
echo "/dev/storage/vo /wl ext4 defaults 0 0" >> /etc/fstab
扩容逻辑卷
用户在使用存储设备时感知不到设备底层的架构和布局,更不用关心底层是由多少块硬盘组成的,只要卷组中有足够的资源,就可以一直为逻辑卷扩容。扩展前请一定要记得卸载设备和挂载点的关联。
umount /wl
- 将上方的逻辑卷vo扩容至290MB。
lvextend -L 290M /dev/storage/vo
- 检查硬盘完整性,并重置硬盘容量。
e2fsck -f /dev/storage/vo
resize2fs /dev/storage/vo
- 重新挂载硬盘设备并查看挂载状态。
mount -a
df -h
xfs 扩容,xfs 可以不卸载 umount
df -h
lvextend -L 250M /dev/vg0/data
xfs_growfs /dev/vg0/data
df -h