linux基础之磁盘管理
学习linux,数据维护和管理是重中之重,而数据大部分存放在硬盘当中,因此,熟练掌握磁盘的使用和管理是运维人员的基础要求。那么,linux系统包括哪些知识点呢?
下面,我们就详细阐述下Linux中磁盘的分区、格式化,以及一些磁盘的高级用法:磁盘配额、RAID阵列和LVM
一、硬盘
随着技术的进步,人类社会的不断发展。硬盘也经历了几代的更新,有最初的几个G,经过十几年的发展,到现在的单块硬盘达到8个T,技术的进步不可同日而语。
硬盘的参数
结构:磁盘盘片、磁头、马达(机械硬盘)
类型:固态硬盘(SSD)和机械硬盘
接口:早期的IDE接口,现在的SATA、SCSI、SAS
硬盘的性能指标
容量:500GB、1TB、2T ... 8T
转速:7200rpm/s 10000rpm/s 15000rpm/s
传输速率:MB/s
缓存:硬盘的缓存大小也一定程度上影响磁盘的读写性能
二、磁盘的分区、格式化
磁盘分区引导类型
MBR:早期的分区标准,诞生于1982年,支持分区最大2T,支持主分区最多4个。通常存储在硬盘0磁道0扇区512bytes大小的空间。
GPT:最新的分区标准,支持最多128个主分区,支持最大8Z的硬盘大小
磁盘的分区工具
fdisk: 支持MBR分区标准
gdisk: 支持GPT分区标准
parted:两种分区标准均可支持,通过命令行直接分区,需谨慎使用
①、fdisk:
用法:fdisk /dev/device
交互指令:
n 创建新的分区
d 删除分区
p 显示当前分区表
o 定义分区标准为msdos
t 更改分区类型
l 列出所有支持的分区类型
q 不保存退出
w 保存退出
通过命令行直接创建第一块分区
echo -e "n\n p\n1\n \n +2G\n w\n" | fdisk /dev/sdx
②、gdisk:
用法:gdisk /dev/device
交互指令:
o 定义分区表类型为GPT分区
n 创建新分区
d 删除分区
p 打印分区表
l 列出系统支持的所有分区类型
t 更改分区类型
q 退出不保存
w 保存退出
③、parted:
用法:
parted /dev/device 交互式创建分区
parted [options] /dev/device [cmd] options... 直接通过命令行创建分区
示例:
parted /dev/sdb mklabel msdos 定义分区引导类型为MBR
parted /dev/sdb mkpart primary 1 1G 创建一块1G大小的分区,1 和 1G 分别代表起始点
parted /dev/sdb print 打印分区
格式化工具
mkfs.[type] 通用格式化工具
mke2fs ext系列格式化工具
mkswap 格式化交换分区
Linux下常见文件系统
ext2 ext3 ext4 xfs btrfs swap iso9660 nfs ......
①、mkfs
-t 指定文件系统类型,mkfs -t type 等价于 mkfs.type
-L 指定卷标
mkfs.xfs /dev/sdb1 将分区格式化成xfs分区
②、mke2fs
用法:mke2fs [options] /dev/device
options:
-t 指定文件系统类型 ext2/ext3/ext4
-b 指定块大小 1024/2048/4096
-L 指定卷标 -L 'LABEL'
-m 管理员预留空间 -m 5 :预留5%
-O 启用或关闭功能模块 如:-O ^has_journal 关闭日志功能
-N 创建多少个inode号
-i 指定多少个直接对应一个inode号
示例:mke2fs -t ext4 -b 2048 -L 'FIRST' -m 5 -O ^has_journal -i 2048 /dev/sdb1
tune2fs -l /dev/sdb1 查看文件系统是否创建成功
三、磁盘配额
磁盘配额作用对象是目录,并且该目录必须挂载到一个单独的分区。其主要作用是限制用户创建文件大小及文件数量。
创建流程:
①、对目录重新挂载,使其启用配额功能模块
方法1:mount -o remount,usrquota,grpquota /home ##前提:/home必须单独挂载到一个分区
方法2:修改/etc/fstab,功能选项定义为defaults,usrquota,grpquota,然后使用remount重新挂载
②、关闭selinux
setenforce 0 不关闭selinux,以下创建过程会报错
③、初始化数据库
quotacheck ##执行该命令,可以在/home目录下创建quota.user及quota.group两个数据库
④、开启配额功能
quotaon /home
⑤、编辑配额
edquota username 调整文件限制大小及数量
⑥、测试
su - username 切换到该用户进行配额测试
四、RAID磁盘阵列
RAID磁盘阵列,诞生于1988年加利福尼亚伯克利分校,其主要作用是能够将多块硬盘合并到一起管理,并且能够提高磁盘的读写性能及冗余能力
RAID常见分类
RAID 0 ; RAID 1 ; RAID10 ; RAID5 ; RAID6
RAID0特征:
冗余能力:无
最少磁盘数:2
读写性能:提升
磁盘利用率:100%
RAID 1特征:
冗余能力;有
最少磁盘数:2
读写性能:读提升、写下降
磁盘利用率:50%
RAID10 特征:
冗余能力:有
最少磁盘数:4
读写性能:提升
磁盘利用率:50%
RAID 5 特征:
冗余能力:有
最少磁盘数:3
读写性能:提升
磁盘利用率:(n-1)/n%
RAID 6特征:类似raid5,有两块校验盘
冗余能力:有
最少磁盘数:4
读写性能:提升
磁盘利用率:(n-2)/n%
四、逻辑卷管理器(LVM)
LVM主要的作用是将多块硬盘,逻辑的组合成一块硬盘,称为卷组(vg),然后用户可以在卷组的基础上创建一定空间大小的逻辑卷(lv),相比使用单独使用硬盘分区的好处是,逻辑卷和卷组都可以根据用户的需求,随意调整大小,而不会对数据造成损坏。LVM还有一个优点就是,可以对用户数据创建快照,实现简单高效的备份用户数据。但相比RAID阵列磁盘,LVM没有冗余功能,也不能提高磁盘的读写性能。因此,建议LVM和RAID阵列磁盘配合使用。
创建逻辑卷流程 ##sdb sdc是两块新增的硬盘
①、创建物理卷pv (physical volume)
pvcreate /dev/sd{b,c} ##可使用pvdisplay查看是否创建成功
②、创建卷组vg (volume group)
vgcreate -s 16M vg_test /dev/sd{b,c} ##创建卷组,并将pv加入卷组,-s 指定PE大小
##PE:创建lv的基本单元,pe数值不应太小,否则,磁盘上可能产生碎片,影响磁盘性能。
③、创建逻辑卷lv (logical volume)
lvcreate -L 2G -n lv_test vg_test ##创建一块2G大小的逻辑卷
④、创建文件系统
mkfs.xfs /dev/vg_test/lv_test ##创建xfs文件系统
⑤、挂载
mount /dev/vg_test/lv_test /mnt/lv_test
扩展逻辑卷
lvextend -r -L +3G lv_test ##将空间和文件系统一起扩展
缩减逻辑卷
①、取消挂载
umount /mnt/lv_test
②、检查文件系统
e2fsck -f /dev/vg_test/lv_test
③、缩减文件系统
resize2fs|xfs_grows lv_test 5G ##resize2fs针对ext系列文件系统缩减,xfs_grows针对xfs文件系统缩减
④、缩减空间
lvreduce -L 5G /dev/vg_test/lvtest ##注意,文件系统和空间缩减大小必须一致
移除磁盘/dev/sdb流程
①、将/dev/sdb数据转移
pvmove /dev/sdb
②、数据转移完成后,将/dev/sdb从磁盘移除
vgreduce /dev/sdb
③、删除pv
pvremove /dev/sdb
创建快照
lvcreate snap_test -L 1G -s -p r /dev/vg_test/lv_test
-L 指定快照大小
-s 指定该逻辑卷为快照
-p r 配置该快照为只读
原创文章,作者:Abigheart,如若转载,请注明出处:http://www.178linux.com/71329

