一 分区划分
硬盘的分区由主分区,扩展分区和逻辑分区组成,逻辑分区是在扩展分区中来划分的分区,这样我们就可以合理的利用硬盘的大小
主分区(包括扩展分区)的最大个数是四个,主分区的个数是由硬盘的主引导记录MBR决定的,MBR存放启动管理程序和分区表记录。其中扩展分区可以包含很多的逻辑分区,所以主分区一般从1~4,而逻辑分区是由5开始的
分区划分的命令
fdisk /dev/vdb
再次按 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)
按 n 键建立新的分区
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): ##主分区id,默认为1
First sector (2048-20971519, default 2048): ##此分区起始位置,默认为2048
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +500M ##分区大小,为500M
Partition 1 of type Linux and of size 500 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: 0x9ef3f58f
Device Boot Start End Blocks Id System
/dev/vdb1 2048 1026047 512000 83 Linux
创建好之后,wq 退出保存
Command (m for help): wq ##保存推出,如果安q表示放弃更改退出
可以看到我们在这里建立了四个主分区,其中一个是扩展分区,占了硬盘剩下的全部空间,接下来建立的都为逻辑分区,且都建立在扩展分区上面
但是这样的话系统并不会认出,我们需要同步分区表
partprobe ##同步分区表
cat /proc/partitions ##查看系统识别的分区信息
vdb1~vdb3的主分区,vdb4的扩展分区
二 如何挂载分区
分区是一个硬件设施,而挂载点为一个软件,一个硬件如何能够挂载在软件上
这里我们提出了将分区格化后,再挂载
mkfs.xfs /dev/vdb1 ##格式化
再将其挂载在 /mnt 下
mount /dev/vdb1 /mnt ##临时挂载
如何实现一个永久性的挂载
vim /etc/fstab ##开机自动挂载(编写这个文件)
devic mountpoint ftype defaults(mountpoint) 0 0
/dev/vdb1 /mnt xfs defaults 0 0
#设备 挂载点 系统格式 参数 不备份 不检查磁盘
设置永久挂载点
mount -a #使/etc/fstab中记录的挂载策略生效
三 swap分区
swap分区(交换分区)当内存不够用的时候,把数据存放在这个分区中,大小一般为内存的1.5-2倍,但是速度低于内存
fdisk /dev/vdb #分区
这里我们在扩展分区中建立一个100M 的逻辑分区 vdb5,用它来作swap分区
t 键改变分区功能id,选择vdb5 ,l 键查看命令帮助,可以看到红色框的部分为 swap 格式 ,前面的代码为 82
输入82,执行命令
更改完毕后,p 键查看,可以看到红色框中格式已经更改为swap ,别忘了wq 退出保存
partprobe ##更新分区表
mkswap /dev/vdb5 # 设置为交换分区
swapon -a /dev/vdb5 #启动
vim /etc/fstab #设置开机自动挂载
/dev/vdb5 swap swap defaults,qsrquota 0 0
swapoff /dev/vdbn #关闭交换分区
四 磁盘加密
1) fdisk /dev/vdb #创建新的分区
创建新的逻辑分区 vdb6
partprobe ##同步分区表
cryptsetup luksFormat /dev/vdb6 #加密/dev/vdb6 确认时候YES为大写
加密成功,密码为 2018westos 注:密码不可以少于8位
cryptsetup open /dev/vdb6 westos #打开加密的分区
mkfs.xfs /dev/mapper/westos #格式化分区为xfs格式
mount /dev/mapper/westos /mnt/ #挂载
挂载成功
touch /mnt/file{1..5} #写入东西
切换进 /mnt 可以查看到写入的东西
如果不想让别人看到,可以:
umount /mnt/ #卸载
cryptsetup close westos #关闭加密分区
可以看到第一次卸载挂载是失败的,是因为你正在 /mnt 下面,而占用了进程,需要退出,再卸载挂载
关闭加密分区后,切回来,并不会看到写入的内容
如果要再次读取,就需要:
cryptsetup open /dev/vdb6 westos ##打开加密的分区
mount /dev/mapper/westos /mnt/ ##挂载
这样就可以再次读取
2) 加密磁盘的永久挂载
vim /etc/crypttab
解密后设备管理文件 设备 加密字符存放文件
westos /dev/vdb6 /root/lukspsfile
vim /root/lukspsfile #加密字符文件
#写入你设置的密码
chmod 600 /root/lukspsfile #密码文件600权限,密码文件权限
cryptsetup luksAddKey /dev/vdb6 /root/lukspsfile #关联设备和密码文件
vim /etc/fstab #自动挂载
/dev/mapper/westos /mnt xfs defaults 0 0
mount -a #检测/etc/fstab自动挂载
reboot 之后,输入 df 命令来查看是否是开机自动挂载
设置成功,确实是开机自启
3)加密清除
vim /etc/fstab #删除自动挂载
> /etc/crypttab #清空文件
rm -fr /root/lukspsfile #删除
umount /mnt/ #取消挂载
cryptsetup close westos #关闭
mkfs.xfs /dev/vdb1 -f #强制格式化
这样就将刚才的加密设置清除完毕了
五 配额
可以让对用的用户使用固定的空间大小和文件的个数,保证服务器的稳定性
先将 /dev/vdb5 格式化 mkfs.xfs /dev/vdb5
mount -o usrquota,grpquota /dev/vdb5 /mnt #挂载,加上配额参数打开,默认是关闭的,加-o
df -h #查看挂载情况
在根下建立新目录 /pub,因为要求普通用户对其可写,所以给其权限
chmod 777 /pub #给文件权限
useradd westos #添加用户
edquota -u westos ##对westos设定大小
su - westos
dd if=/dev/zero of=/pub/file bs=1M count=20
du -sh /pub/file ##查看 /pub/file 的大小
可以看到 pub 下面的 file 大小仍然是 20M ,并没有因为写入 30M 而变大,因为它的最大容量设定是20M