分区和文件系统
存储是每个计算机系统的基本需求 。Red Hat Linux提供了一些强大的工具 ,它们能在大量的场景中管理多种类型的存储设备。
文件系统的比较:
- ext4 是 Red Hat Enterprise Linux 6 的标准文件系统。它非常强大可靠 , 具有多项可以提高现代工作量处理性能的功能。
- ext2 是常用于 Linux 中的较旧的文件系统。它简单可靠 ,非常适合小型存储设备,但是效率低于 ext4。
- vfat 支持包括一系列相关文件系统 ( VFAT/FAT16/FAT32 ), 这些文件系统针对较旧版本的 Microsoft Windows 开发 , 在大量的系统和设备上受支持。
- xfs 在 Red Hat Enterprise Linux 7 的标准文件系统其具备数据完全、性能稳定、扩展性强 ( 8eb-1byte ) 、传输速率高 ( 7G/s )
本地存储设备的识别
fdisk 是用于管理磁盘分区的实用程序。
fdisk -l | 真实存在的设备 |
---|---|
cat /proc/partition | 系统识别的设备 |
blkid | 系统可使用的设备 |
df | 系统正在挂载的设备 |
fdisk -l 系统中真实存在的设备,但不一定能被识别。
cat /proc/partition 系统能识别的设备,但不一定能用。
blkid 系统中可以使用的设备
df 系统正在挂载的设备
设备的挂载和卸载
- 设备名称
1./dev/xdx 硬盘
/dev/vda /dev/vdb 系统中的虚拟硬盘
/dev/sda /dev/sdb sata 串口硬盘,片型
/dev/hda /dev/hdb 并口硬盘,针型
2./dev/sr0 光驱
3./dev/mapper/* 虚拟设备 - 设备的挂载
命令:mount 设备 挂载点
mount /dev/sdb1 /mnt | 挂载/dev/sdb1到/mnt |
---|---|
umount /mnt 或 /dev/sdb1 | 卸载 |
mount -o ro /dev/sdb1 /mnt | 只读挂载 |
mount | 查看挂载信息 |
mount -o remount,rw /devsdb1 或 /mnt | 重新读写挂载 |
mount /dev/sdb1 /mnt 挂载
mount 查看挂载信息,是读写挂载。
我们将他改为只读挂载
mount -o remount,ro /dev/sdb1
mount
此时不能对/dev/sdb1进行写操作。
再将它改为读写挂载后,就可以进行读写操作了。
mount -o remount,rw /dev/sdb1
mount
- 解决设备正忙情况
在挂载设备正在使用时,如果要卸载他,就会出现下图的提示:
我们有以下两种解决方案:
fuser -vm /mnt
fuser -kvm /mnt -k=kill
umount /mnt
或者:
lsof /mnt
kill -9 id
umount /mnt
磁盘分区
- 计算机中存放信息的主要的存储设备就是硬盘,但是硬盘不能直接使用,必须对硬盘进行分割,分割成的一块一块的硬盘区域就是磁盘分区。在传统的磁盘管理中,将一个硬盘分为两大类分区:主分区和扩展分区。主分区是能够安装操作系统,能够进行计算机启动的分区,这样的分区可以直接格式化,然后安装系统,直接存放文件。磁盘分区后,必须经过格式化才能够正式使用。
- 硬盘的零磁道一扇区的512字节中记录的信息如下:
512=446+64+2
在总共512字节的硬盘主引导记录扇区中,446字节属于硬盘主引导程序,64字节属于硬盘分区表(DPT),两个字节(55 AA)属于分区结束标志。 - 硬盘分区表 64字节
一块分区占16个字节
一块硬盘上最多划分4个主分区
分区步骤
1.我们通过fdisk -l命令可以看到/dev/vdb这块硬盘还没有使用,所以我们对/dev/vdb这块硬盘操作。
2.fdisk /dev/vdb 会出现下面的界面
3.我们要给/dev/vdb划分一个新的分区,输入n:
这里p代表primary(主分区),e代表extend(扩展分区),系统默认建立主分区,我们按照系统默认的继续往下执行,默认分区编号为1,第一块分区开始的扇区选择默认值2048,第一块分区大小我们输入+100M,即给第一块分区100M的空间,输入p查看是否划分成功,划分成功输入wq退出保存。
我们刚划分的分区可以被系统识别到。
如果我们想删除刚划分的分区,fdisk /dev/vdb
输入d,删除成功,退出保存wq
注意:当系统已经划分了三个主分区时,我们将第四个分区化为扩展分区,剩余空间都划分给扩展分区。
在扩展分区里再建立新的分区。
注意:主分区+扩展分区+逻辑分区最多16个,再多系统也不识别。
给设备安装文件系统
格式化类型:
ext3 rhel5及之前的版本 默认支持32TB的文件系统和2t的文件,实际2TB文件系统,16G文件
ext4 rhel6 更多支持1EB的文件系统和16tb文件
xfs rhel7 更多支持18EB文件系统和9EB文件 7G/s 4G/s
mkfs.xfs /dev/vdb1 ##格式化/dev/vdb1
mount /dev/vdb1 /mnt ##挂载
自动文件系统挂载策略
vim /etc/fstab
/dev/vdb1 /mnt xfs defaults 0 0
设备 挂载点 文件系统类型 挂载参数 是否备份 是否检测
mount -a ##使/etc/fstab文件生效
swap分区管理
什么是swap分区?
-
Swap分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。
-
Swap分区,即交换区,系统在物理内存不够时,与Swap进行交换。 其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。
swap分区的建立
fdisk /dev/vdb
n ##新建分区
+200M ##大小是200M
t ##修改分区类型
82 ##swap标签号码为82
wq ##退出保存
partprobe ##同步分区表
划分成功:
mkswap /dev/vdb2 ##建立swap分区,关机后自动消失
swapon -a /dev/vdb2 ##使swap生效
swapon -s ##查看swap分区
vim /etc/fstab ##文件系统自动挂载
/dev/vdb2 swap swap defaults 0 0
/dev/vdb3 swap swap defaults,pri=5 0 0 ##指定/dev/vdb3的优先级为5
swap分区的删除
vim /etc/fstab ##首先删除或注释此文件中有关于我们要删除的swap分区的设置
swapoff /dev/vdb2 ##停用此分区
swapon -s ##显示当前交换区的状态
fdisk /dev/vdb
d ##删除第二块分区/dev/vdb2
2
wq
partprobe ##同步分区表
配额
配额的作用?
linux中的quote磁盘配额可以有效的管理多用户对磁盘操作的限制,由于linux是多用户操作系统,有时候可能会出现几个人同时在使用的情况,当其中一个人占用了大部分磁盘空间的时候其他人就会感觉到系统反应速度明显变慢。为了解决这一问题所以我们要对每个用户对磁盘的操作进行限制。注:此限制对root用户不起作用。
配额是针对分区的。
mkfs.xfs /dev/vdb1 ##先格式化/dev/vdb1
mkdir /zhang
mount -o usrquota /dev/vdb1 /zhang ##挂载
quotaon -uv /dev/vdb1
chmod 777 /zhang ##修改挂载目录的权限
mount ##查看挂载信息
edquota -u student /dev/vdb1 ##给student分配配额
vim /etc/fstab ##开机自动激活配额
设置完成,切换到student,可看到student只能使用我们设置的10M的空间。
磁盘加密
- LUKS ( Linux 统一密钥设置 ) 是标准的设备加密格式。
- LUKS 可以对分区或卷进行加密,必须首先对加密的卷进行解密 ,才能挂载其中的文件系统。
cryptsetup luksFormat /dev/vdb2 ##给/dev/vdb2加密
YES
cryptsetup open /dev/vdb2 westos ##以westos这个名字打开它
ll /dev/mapper/
mkfs.xfs /dev/mapper/westos
mkdir /westos
mount /dev/mapper/westos /westos/
touch /westos/file{1..3}
umount /westos
cryptsetup close westos
若想再次打开,换一个名字即可。
cryptsetup open /dev/vdb2 haha ##再次以haha这个名字打开
mount /dev/mapper/haha /westos/ ##挂载
加密设备开机自动挂载
vim /etc/fstab
vim /root/passwd 文件中写入密码
chmod 600 /root/passwd
vim /etc/crypttab ##写入开启设备的名字,设备,以及密码文件
cryptsetup luksAddKey /dev/vdb2 /root/passwd ##将加密设备的密码指向告诉系统
reboot ##重启,检测加密设备有没有自动挂载
删除密码
vim /etc/fstab ##删除自动挂载内容
cryptsetup luksRemoveKey /dev/vdb2 /root/passwd ##解除关系
umount /westos ##卸载设备
cryptsetup close haha
mkfs.xfs /dev/vdb2 -f ##强制格式化设备