一、基本概念
1、MBR和GPT基本概念
MBR
MBR的全称Master Boot Record(主引导记录),其是存在于驱动器开始部分的一个特殊的启动扇区。这个扇区包含了已安装的操作系统的启动加载器和驱动器的逻辑分区信息。主引导扇区是硬盘的第一扇区。它由三个部分组成,主引导记录MBR、硬盘分区表DPT和硬盘有效标志。在总共512字节的主引导扇区里MBR占446个字节,偏移地址0000H–0088H),它负责从活动分区中装载,并运行系统引导程序;第二部分是Partition table区(DPT分区表),占64个字节;第三部分是Magic number,占2个字节。
在MBR分区表中最多4个主分区,或者3个主分区+1个扩展分区,也就是说扩展分区只能有一个,然后可以再细分为多个逻辑分区。一块硬盘上如果用MBR的分区方式最多可以存在4个主分区。在MBR硬盘中,分区号1-4是主分区(或者扩展分区),逻辑分区号只能从5开始。在MBR分区表中,一个分区最大的容量为2T,且每个分区的起始柱面必须在这个disk的前2T内。
GPT
GUID 磁盘分区表( GUID Partition Table ,缩写:GPT )其含义为“全局唯一标识磁盘分区表。与 MBR 最大 4 个分区表项的限制相比, GPT 对分区数量没有限制。 在分区数量上,GPT会为每一个分区分配一个全局唯一的标识符,理论上GPT支持无限个磁盘分区,不过在Windows系统上由于系统的限制,最多只能支持128个磁盘分区,基本可以满足所有用户的存储需求。在每一个分区上,这个标识符是一个随机生成的字符串,可以保证为地球上的每一个GPT分区都分配完全唯一的标识符。
2、设备的查看
存储是每个计算机系统的基本需求 .Red Hat Linux 提供了一些强大的工具 , 它们能在大量的场景中管理多种类型的存储设备。
fdisk 是用于管理磁盘分区的实用程序
fdisk -l ##列出磁盘分区信息,查看系统中真实存在的设备
blkid ##查看可用设备,可以看到被格式化好的/dev/vdb1
df ##查看系统中正在使用的设备信息
df -h ##查看已挂在各分区的空间和目录情况
cat /proc/partitions ##查看系统中被系统识别的设备
3、命令
mkfs.xfs /dev/vdb1 ##格式化设备,在设备上安装文件系统xfs
mount /dev/vdb1 /mnt ##挂载设备,使设备投入使用(临时挂载)
mount -o noatime /dev/vdb5 /mnt ##不更新时间
mount -o remount,ro /dev/vdb5 /mnt ##设备不卸载情况下,重新挂载
partprobe ##更新分区表
4、文件系统
- ext4
ext4 是 Red Hat Enterprise Linux 6 的标准文件系统,它非常强大可靠 , 具有多项可以提高现代工作量处理性能的功能。 - ext2
ext2 是常用于 Linux 中的较旧的文件系统。它简单可靠 ,非常适合小型存储设备 , 但是效率低于 ext4。 - vfat
vfat 支持包括一系列相关文件系统 ( VFAT/FAT16,FAT32 ), 这些文件系统针对较旧版本的 Microsoft Windows 开发 , 在大量的系统和设备上受支持。 - xfs
xfs 在 Red Hat Enterprise Linux 7 的标准文件系统其具备数据完全、性能稳定、扩展性强 ( 8eb-1byte ) 、传输速率高 ( 7G/s )。
二、分区划分##
1、分区方式
fdisk /dev/vdb ##划分/dev/vdb
welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): m ##帮助
Command action
a toggle a bootable flag
b edit bsd disklabel ##设定设备标签
c toggle the dos compatibility flag
d delete a partition ##删除分区
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types ##列出系统可用的分区类型
m print this menu
n add a new partition ##新建分区
o create a new empty DOS partition table
p print the partition table ##显示分区列表
q quit without saving changes ##退出分区工具
s create a new empty Sun disklabel
t change a partition's system id ##修改分区功能id
u change display/entry units
v verify the partition table
w write table to disk and exit ##保存更改的分区表
x extra functionality (experts only)
Command (m for help): n ##新建分区
Partition type:
p primary (0 primary, 0 extended, 4 free) ##分区类型位主分区
e extended ##分区类型位扩展分区
Select (default p): ##默认为主分区
Using default response p
Partition number (1-4, default 1): 1 ##主分区id
First sector (2048-20971519, default 2048): ##此分区起始位置
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +100M ##分区大小
Partition 1 of type Linux and of size 100 MiB is set
Command (m for help): p
Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x193488c3
Device Boot Start End Blocks Id System
/dev/vdb1 2048 206847 102400 83 Linux
Command (m for help): wq ##保存退出,如果按‘q’表示放弃更改退出
[root@localhost mnt]# partprobe ##同步分区表
cat /proc/partitions ##查看系统识别的分区信息
实例:划分3个主分区,1个扩展分区
2、新建立分区的使用
mkfs.xfs /dev/vdb1 ##格式化
<1>临时挂载命令
mount /dev/vdb1 /mnt ##临时挂载
<2>永久挂载
vim /etc/fstab ##永久挂载
配置文件内容
devic mountpoint ftype defaults(mountpoint) 0 0
/dev/vdb1 /mnt xfs defaults 0 0
mount -a ##使/etc/fstab中记录的挂载策略生效
3、设定分区方式为gpt
三、swap交换分区
1、swap分区的管理
14 Linux swap 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
swapon -s ##查看系统中的swap分区
2、建立swap分区
<1>分区
fdisk /dev/vdb ##分区
<2>fdisk 中修改swap分区标识
分区方式 gpt , id为 14
分区方式 doc, id为 82
<3>格式化swap
mkswap /dev/vdb1 ##把/dev/vdb1格式化成swap格式
<4>激活
swapon -a /dev/vdb1 ##激活
vim /etc/fstab ##开机自动激活
配置文件内容:
/dev/vdb1 swap swap defautls 0 0 ##挂载设备 挂载点 挂载文件类型 挂载系统类型 不备份 不监测
3、删除/etc/fstab中的swap自动激活条目
swapoff /dev/vdb1 ##关闭激活的swap分区
四、磁盘加密
1、分区加密
cryptsetup luksFormat /dev/vdb1
WARNING!
========
This will overwrite data on /dev/vdb1 irrevocably.
Are you sure? (Type uppercase yes): YES ##确定加密
Enter passphrase: ##密码大于8位,并且不能太简单
Verify passphrase: ##确认密码
[root@localhost ~]# cryptsetup open /dev/vdb1 westos ##解密
Enter passphrase for /dev/vdb1:
[root@localhost ~]# mkfs.xfs /dev/mapper/westos ##用管理文件格式化设备
[root@localhost ~]# mount /dev/mapper/westos /mnt/ ##使用设备
[root@localhost ~]# touch /mnt/westos{1..3}
[root@localhost ~]# umount /mnt/ ##取消挂载
[root@localhost mnt]# cryptsetup close westos ##关闭设备加密层
检测:
case1:直接挂载,无法打开密码文件
case2:输入密码,挂载,可打开密码文件
2、自动挂载加密设备
[root@diskctrl ~]# vim /etc/crypttab ##设定开机解密
解密后名称 设备 密码文件
[root@diskctrl ~]# vim /etc/fstab ##开机自动挂载加密设备
/dev/mapper/westos /mnt xfs defaults 0 0
[root@diskctrl ~]# vim /root/passwd ##系统自动读取密码记录文件
解密密码
[root@diskctrl ~]# cryptsetup luksAddKey /dev/vdb1 /root/passwd ##把密码记录文件与设备关联
Enter any passphrase: ##设备解密密码
开机自动挂载加密设备vim /etc/fstab
设定开机解密 vim /etc/crypttab
3、加密清除
vim /etc/fstab ##删除已写操作
> /etc/crypttab
rm -fr /root/lukspsfile
umount /mnt/
cryptsetup close westos
mkfs.xfs /dev/vdb1 -f
五、raid 磁盘阵列
建立3个分区,并设定3个分区的功能标签位raid
mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3}
-C ##建立
-a ##文件不存在建立文件
-l ##raid级别
-n ##设备个数
-x ##闲置设备个数
cat /proc/mdstat ##设备信息
mdadm -D /dev/md0 ##设备配置信息
mdadm /dev/md0 -f /dev/vdb1 ##损坏设备1
mdadm /dev/md0 -r /dev/vdb1 ##移除设备1
mdadm /dev/md0 -a /dev/vdb1 ##恢复设备1
mdadm -S /dev/md0 ##停止设备
实例:
1、fdisk /dev/vdb 划分三个分区,分区类型Linux RAID
2、vdb1和vdb2读写,vdb3空闲以备用
查看设备信息,vdb3处于空闲状态
3、损坏设备vdb2
查看设备信息,vdb2处于损坏状态
4、查看设备配置信息,vdb2被移除
5、恢复设备vdb2
6、停止设备
六、磁盘配额
1、磁盘配额时限制用户向设备中写入数据的大小,或者个数
2、此法针对于设备
3、具体方法
mount -o usrquota,grpquota /dev/vdb1 /pub ##激活配额功能参数
quotaon -ugv /pub ##开启配额
edquota -u student ##设定student的配额
Disk quotas for user student (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/vdb1 102400* 0 102400 1 0 0
repquota -a ##root可以执行,查看用户配额信息
quota ##配额限制用户查看自己配额信息命令
设定student配额文件内容:
当count<=100时,正常分配,当count>100时,磁盘配额过量,导致错误
4、开机自动激活配额
vim /etc/fstab
/dev/vdb1 /pub xfs defaults,usrquota,grpquota 0 0
cat /etc/shadow
自动激活配额文件内容:
5、关闭配额
删除vim /etc/fstab中的配额参数
quotaoff -ugv 设备