一、磁盘结构
硬盘的物理结构
- 盘片:硬盘有多个盘片,每盘片2面
- 磁头:每面一个磁头
硬盘的数据结构
- 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据
- 磁道:同一盘片不同半径的同心圆
- 柱面:不同盘片相同半径构成的圆柱面
硬盘存储容量=磁头数*磁道(柱面)数*每道扇区数*每扇区字节数
可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域
磁盘接口类型:IDE(淘汰)、SATA(凹口)、SCSI(基本淘汰,低配SAS)、SAS(凸口)、光纤通道(方形头等)
二、MBR与磁盘分区表示
主引导记录(MBR:Master Boot Record)
- MBR位于硬盘第一个物理扇区处
- MBR中包含硬盘的主引导程序和硬盘分区表
- 分区表有4个分区记录区,每个分区记录区占16个字节
MBR≤4个分区
Linux中将硬盘、分区等设备均表示为文件
例:/dev/hda5
/dev:(硬件设备文件所在的目录)
hd:表示IDE设备,sd表示SCSI设备
a:硬盘的顺序号,以字母a、b、c…表示
5:分区的顺序号,以数字1、2、3…表示
分区分为主分区和扩展分区(主分区≥1)
磁盘分区结构
- 硬盘中的主分区数目只有4个
- 主分区和扩展分区的序号限制在1~4
- 扩展分区再分为逻辑分区
- 逻辑分区的序号将始终从5开始
三、文件系统类型
XFS文件系统
- 存放文件和目录数据的分区
- 高性能的日志型文件系统
- Centos7系统中默认使用的文件系统
SWAP交换文件系统
为Linux系统建立交换分区
Linux支持的其他文件系统类型
FAT16、FAT32、NTFS、EXT4、JFS等
四、检测并确认新硬盘
fdisk命令
查看或管理磁盘分区
fdisk –l [磁盘设备] 或 fdisk [磁盘设备]
五、创建文件系统
- 1. mkfs命令
Make Filesystem,创建文件系统(格式化)
mkfs –t(强制) 文件系统类型 分区设备
或mkfs.文件系统类型 分区设备
- 2. mkswap命令
make swap,创建交换文件系统
mkswap 分区设备
六、挂载、卸载文件系统
- 1. mount命令
挂载文件系统、ISO镜像到指定文件夹
mount [-t 类型] 存储设备 挂载点目录
mount –o loop ISO镜像文件 挂载点目录(带属性挂载,临时挂载需要在挂载完后输入mount)
- 2. umount命令
卸载已挂载的文件系统
umount 存储设备位置
umount 挂载点目录
七、设置文件系统的自动挂载(永久挂载)
/etc/fstab配置文件
包含需要开机后自动挂载的文件系统记录
vi /etc/fstab
/dev/sdb1(分区) /mailbox(挂载点) xfs(文件系统)defaults 0 0
或:
/dev/sdb1(分区) /mailbox(挂载点) xfs(文件系统)defaults,loop(带属性) 0 0
注:带属性永久挂载后可以输入mount –a使配置立即生效,否则需要重启
八、磁盘分区(parted)
若磁盘小于2TB,可用fdisk /dev/sdb进行分区,即MBR分区格式
若磁盘大于2TB,可用parted /dev/sdb进行分区,我们都知道MBR分区磁盘是不能大于2TB的,所以超过2TB需要使用GPT分区格式
我们先在超级用户模式下用fdisk –l命令查看挂载的硬盘设备,假设设备号为/dev/sdb,接下来我们使用parted命令来GPT分区
- 1. yum install parted –y
parted /dev/sdb
- 2. 将MBR磁盘分区格式调整为GPT
(parted)mklabel gpt
- 3. 划分所有空间到一个分区
(parted)mkpart primary 0-1
或unit TB(设置单位为TB)
mkpart primary 0 3(设置为一个主分区,大小为3TB,开始是0,结束是3)
- 4. 显示设置的分区大小
(parted)print
- 5. 退出parted程序
(parted)quit
- 6. 用parted将分区做好后,进行格式化操作,完成后即可挂载使用
mkfs.ext4 –F /dev/sdb1
- 7. 最后加入/etc/fstab自动挂载
九、LVM与磁盘配额
- 1. LVM(logical volume manager,逻辑卷管理)
① .动态调整磁盘容量,从而提高磁盘管理的灵活性
② /boot分区用于存放引导文件,不能基于LVM创建
③ 图形界面管理工具 system-config-lvm
第一块硬盘不去做lvm,因为昨晚需要格式化,lvm≥100G
- 2. LVM机制的基本概念
① PV(物理卷)——整块硬盘磁盘分区
② VG(卷组)——物理卷合并
③ LV(逻辑卷)——对卷组进行进一步细化
主要命令
功能 |
物理卷管理 |
卷组管理 |
逻辑卷管理 |
Scan扫描 |
pvscan |
vgscan |
lvscan |
Create建立 |
pvcreate |
vgcreate |
lvcreate |
Display显示 |
pvdisplay |
vgdisplay |
lvdisplay |
Remove删除 |
pvremove |
vgremove |
lvremove |
Extend扩展 |
— |
vgextend |
lvextend |
Reduce减少 |
— |
vgreduce |
lvreduce |
推荐步骤
PV→VG→LV→格式化,挂载使用文件系统
pvcreat 设备名1 [设备名2]
vgcreate 卷组名 物理卷名1 物理卷名2
lvcreate –L 容量大小 –n 逻辑卷名 卷组名
lvextend –L +大小 /dev/卷组名/逻辑卷名
十、实现磁盘配额的概述
实现磁盘限额的条件
① 需要Linux内核支持
② 安装xfsprogs与quota软件包
Linux磁盘限额的特点.
作用范围:针对指定的文件系统(分区)
限制对象:用户账号,组账号
限制类型:磁盘容量,文件数量
限制方法:软限制,硬限制
实验举例:
- 1. 确保有磁盘限额的软件功能
rpm –q quota
若没有,则需要rpm安装xfsprogs软件
- 2. 带属性的挂载lvm磁盘
临时挂载:mount –o usrquota,grpquota /dev/lvm/cloud /data
永久挂载:vi /etc/fstab
/dev/lvm/cloud /data xfs defaults,usrquota,grpquota 0 0
mount –a(加载/etc/fstab里面的配置文件内容)
- 3. 给/data目录写的权限
chmod –R 777 /data
- 4. 限定liming用户lvm磁盘配额,软限制为60M,硬限制为80M,文件软限制为3,文件硬限制为4
xfs_quota –x –c ‘limil –u bsoft=60M bhard=80M isoft=3 ihard=4 liming’ /data
-x:专家模式 –c:命令
测试验证效果:
su liming
cd /data
dd if=/dev/zero of=./1.txt bs=100M count=1
ls –lh
- 5. 限定ag组用户lvm磁盘配额
groupadd ag
useradd –g ag lisi
passwd lisi
xfs_quota –x –c ‘limil –g bsoft=80M bhard=100M isoft=5 ihard=6 ag’ /data
测试验证效果
su lisi
cd /data
dd if=/dev/zero of=./2.txt bs=120M count=1
ls –lh
- 6. 查看用户、组对其目录的报告
在超级用户模式下
xfs_quota –x –c ‘report -ubih’ /data
xfs_quota –x –c ‘report -gbih’ /data
b——block 磁盘容量
i——inode 文件数量