系统分区管理

一.linux系统中的磁盘管理

1.本地存储设备的识别

1)fdisk -l       ---真实存在的设备

主机硬盘320G

插入的U盘信息


2)cat /proc/partitions    ---系统识别的设备

系统分区管理_第1张图片
3)blkid                  ---系统可使用的设备

系统分区管理_第2张图片
4)df                     ---系统正在挂载的设备

系统分区管理_第3张图片

2.设备的挂载和卸载


1)设备名称

/dev/xdx    ---/dev/hd0   /dev/hd1   /dev/sda  /dev/sdb  /dev/sda1  /dev/sda2   /dev/sdb1
/dev/sr0     ---光驱
/dev/mapper/*  ---虚拟设备

2)设备的挂载

mount 设备   挂载点
mount /dev/sdb1  /dai     ---将sdb1挂载到/dai

系统分区管理_第4张图片

此时,在/dai中的文件管理等同于对U盘进行管理

mv /etc/passwd

查看U盘中出现passwd文件

系统分区管理_第5张图片

umount /dai | /dev/sdb1    ---卸载

系统分区管理_第6张图片
mount -o ro /dev/sdb1  /dai  ---只读挂载


mount      ---查看挂载信息


mount -o remount ,rw /dev/sdb1 | /dai  ---将只读挂载重新读写挂载

mount      ---查看挂载信息

3)解决设备正忙情况

[root@doundation 62 ~]#umount /dai/
umount: /dai: target is busy.             ---有程序在使用此设备
        (In some cases useful info about processes that the device is found by lsof(8) or fuser(1))

#解决方法1
fuser -kvm /dai
umount /dai

系统分区管理_第7张图片

#解决方法2
lsof /dai
[root@foundation62 ~]lsof /dai/
lsof :WARNING: can't stat () fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output is information may be incomplete.
COMMAND  PID  USER        FD TYPE DEVICE SIZE/OFF NODE  NAME
bash              4639  root         cwd   DIR        8,17   16384          1         /dai

系统分区管理_第8张图片

kill -9 4639          ---强制结束进程4639


umount /dai         ---卸载/dai

 

 

下面的实验必须用server做

3.磁盘分区

1.硬盘0磁道1扇区的512个字节中记录的信息如下

512=446   +         64                 +2
  mbr(主引导记录) mpt(主分区表)      55aa(硬盘的有效性标识)

硬盘分区表
  64
1个分区占用16个字节
一块硬盘上最多可以划分4个主区

2.分区步骤


1)fdisk -l                                  ---查看硬盘分区信息

系统分区管理_第9张图片
2)fdisk /dev/vdb                                       ---在/dev/vdb中进行分区管理

系统分区管理_第10张图片
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)

系统分区管理_第11张图片


1.#建立主分区

Command (m for help): n           ---新建
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended

系统分区管理_第12张图片
Select (default p): p             ---主分区
Partition number (1-4, default 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          ---给这个分区100M的大小
Partition 1 of type Linux and of size 100 MiB is set

Command (m for help): p    ---显示信息

 

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048      206847      102400   83  Linux

系统分区管理_第13张图片

Command (m for help): wq     ---保存退出
The partition table has been altered!

系统分区管理_第14张图片

2.#扩展分区

当系统已经有三个主分区时

系统分区管理_第15张图片

Command (m for help): n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): e              ---3个主分区出现要先划分扩展分区,也可以无视默认推荐,继续划分主分区,但是之后再划分会报错,无法划分更多分区

系统分区管理_第16张图片
Selected partition 4
First sector (616448-20971519, default 616448):                            ---默认初始位置
Using default value 616448
Last sector, +sectors or +size{K,M,G} (616448-20971519, default 20971519):              ---默认最终位置,将所有空间都给扩展分区
Using default value 20971519
Partition 4 of type Extended and of size 9.7 GiB is set

系统分区管理_第17张图片

Command (m for help): p

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048      206847      102400   83  Linux
/dev/vdb2          206848      411647      102400   83  Linux
/dev/vdb3          411648      616447      102400   83  Linux
/dev/vdb4          616448    20971519    10177536    5  Extended

系统分区管理_第18张图片

Command (m for help): wq
The partition table has been altered!

系统分区管理_第19张图片

4.给设备安装文件系统

ext3  rhel5及之前的版本     最多支持32TB的文件系统和2T文件,实际2TB文件系统,16G文件
ext4  rhel6               1EB    16TB
xfs   rhel7               18EB   9EB     7G/s   4G/s
                         文件系统大小 允许保存的最大文件  下载最大速度,写入最大速度

1)mkfs.xfs    /dev/vdb1    ---格式化分区vdb1(1号虚拟硬盘)

系统分区管理_第20张图片

2)mount /dev/vdb1 /dai     ---将硬盘挂载到/dai下,此时才能在文件中控制硬盘内容


df检测是否挂载成功

系统分区管理_第21张图片

 

3)partprobe    ---立即同步分区表

4)设置开机启动挂载命令

vim /etc/fstab   
##文件内容格式:
设备           挂载点    文件系统     挂载参数     是否备份    是否检测
/dev/vdb1     /mnt           xfs            defaults             0                   0

系统分区管理_第22张图片

mount -a   ---立即挂载上面的文件内容立即执行,可以先不挂载,设置开机挂载文件后,用此命令立即挂载


5.swap分区管理

1)临时设置分区

swap分区建立,划分分区并设定分区标签为82

fdisk /dev/vdb                   ---管理/dev/vdb的分区


n                                         ---新建分区
last +1000M                     ---给swap分区1000M的空间

系统分区管理_第23张图片
p                                         ---查看已建立分区

系统分区管理_第24张图片
t                                         ---修改分区信息

修改第5分区的信息


L                       ---列出标签信息并修改标签


82                            ---将标签修改为82(swap分区)


p                     ---查看分区信息,第5分区已被修改为swap分区

系统分区管理_第25张图片
wq                                       ---保存之前的操作

partprobe                          ---立即同步分区表

mkswap /dev/vdb5     ---格式化swap分区


swapon -a /dev/vdb5  ---开启这个设备的服务,没有报错的话,说明建立成功


swapon -s            ---查看swap服务开启状态,检测swap分区是否建立成功


2)永久分区设置

配置开机自动挂载文件
vim /etc/fstab
 /dev/vdb5     swap            swap             defaults            0           0

硬件分区      挂载点     文件系统            挂载参数 是否备份 是否检测


swapon -a    ---没有报错的话说明永久挂载成功

3)swap分区删除

vim /etc/fstab
dd删除刚才添加的一行

系统分区管理_第26张图片
swapon -a
swapoff   /dev/vdb5                      ---将/dev/vdb5分区的设备服务关闭


必须将vdb5的所有使用都停掉,再删除swap分区,否则系统会默认正在使用,不能正常删除
fdisk /dev/vdb                         ---管理硬件分区


d           ---删除
5          ---删除第5个分区


p           ---查看这个硬盘下的所有分区

系统分区管理_第27张图片
wq          ---退出保存

partprobe

swapon -s   ---检测是否删除成功


6.配额(配额是针对分区的)

1)新添加一个逻辑分区/dev/vdb5

系统分区管理_第28张图片

2)mount -o usrquota /dev/vdb5  /public                  ---将/dev/vdb5 分区挂载到/public

系统分区管理_第29张图片
4)chmod 777 /public/                         ---给/public/满权限,便于实验


5)edquota -u student                      ---设置student用户的配额

 

指定管理的分区  ,将hard(最大空间)设置为20M

6)设置永久配额
vim /etc/fstab               


/dev/vdb5        /public          xfs              defaults,usrquota                      0         0

硬件分区      挂载点     文件系统            挂载参数,配额管理    是否备份 是否检测

系统分区管理_第30张图片

测试:

需要切换到student用户进行
[student@localhost ~]$ dd if=/dev/zero of=/public/file bs=1M count=200  ---从/dev/zero下切出文件,放到/public/目录下,名称为file,大小为1M,次数为200次

再切出一块大小共20M的文件放到/public/,名称为file,没有报错,此处尝试保存为file1,被拒绝,是此前设置问题。

查看/public/file的文件大小,为20M,新的文件将空间正好占满,原文件丢失。

 

 

7.磁盘加密

luks加密方式 :

先在磁盘外铺一层加密,再在之外铺一层文件系统,提取磁盘中的数据时,先是得到加密的数据,然后才经过文件系统编辑,强制清除密码之后,得到的数据都是经过加密的,没有解密方式,使磁盘安全性更高


环境:server

首先建立分区
fdisk  -l           可以查看到设备/dev/vdb下有5个分区

系统分区管理_第31张图片
步骤:

1)cryptsetup luksFormat /dev/vdb5   ---将设备分区5加密(此处YES确认必须大写,否则不生效)

系统分区管理_第32张图片

2)cryptsetup open /dev/vdb5 dai       ---将设备解密,使之成为一个虚拟设备,并命名为dai

3)ll /dev/mapper/                                  ---查看设备

4)mkfs.xfs /dev/mapper/dai                ---将/dev/mapper/dai格式化为xfs格式

系统分区管理_第33张图片

5)mount /dev/mapper/dai /mnt/          ---将虚拟设备挂载到/mnt/
df                                                           ---查看挂载信息

系统分区管理_第34张图片

6)touch /mnt/file{1..10}                        ---在/mnt/下新建文件

7) umount /mnt/                        ---卸载/mnt/

8)cryptsetup close dai             ---关闭虚拟设备,此时/dev/vdb5处于无法访问状态

9)ll /dev/mapper/                       ---查看设备,发现虚拟设备消失


(检测一)此时磁盘加密状态,虚拟设备不存在

10)mount /dev/mapper/dai /mnt/      ---挂载虚拟设备报错,因为虚拟设备不存在
mount: special device /dev/mapper/dai does not exist

(检测二)直接挂载真实设备,系统报错无法识别加密磁盘

11)mount /dev/vdb5 /mnt/           ---挂载真实设备报错,因为是加密状态
mount: unknown filesystem type 'crypto_LUKS'

12)cryptsetup open /dev/vdb5 westos ---将设备解密,使之成为一个虚拟设备,并命名为westos


(检测三)13.mount /dev/mapper/westos /mnt/      ---挂载

14)ls /mnt/                         ---此时加密磁盘被解密,可以查看/mnt/的文件,发现之前在真实设备中新建的10个文件

 

8.加密挂载开机自启

步骤:

1)vim /etc/fstab                   ---编辑开启自动挂载文件


/dev/mapper/disk                           /pub            xfs     defaults    0       0   
设备名称(虚拟设备名称任意指定)          挂载点(需要已经存在)  文件系统   挂载参数 是否备份 是否检测

系统分区管理_第35张图片

2)vim /etc/crypttab                ---配置添加虚拟设备信息的文件


disk             /dev/vdb5      /root/vdb5pass
虚拟设备名称 虚拟设备对应的物理分区 物理分区的密码指定文件(它不能自动去查询,需要第5步操作)

3)vim /root/vdb5pass              ---编辑指定的密码文件


2018dai                            ---保存着此前加密操作的密码


 
4)chmod 600 /root/vdb5pass         ---此文件指定只允许超级用户能查看

5)cryptsetup luksAddKey /dev/vdb5 /root/vdb5pass     ---让/root/vdb5pass与/etc/crypttab文件产生联系,当创建虚拟分区需要密码时,系统会自动去查询密码文件

检测:

reboot


df               ---查看到挂载信息,开机自启设置成功,设备挂载到/pub下

系统分区管理_第36张图片

 

#取消加密(强行格式化加密设备后,加密就不存在了)

步骤:

1)vim /etc/fstab          ---删除自动挂载

2)vim /etc/crypttab       ---删除自动挂载指定查看的加密信息文件

3)df                      ---查看挂载信息

系统分区管理_第37张图片
umount /pub/              ---卸载虚拟设备

4)cryptsetup close disk   ---关闭虚拟设备

5)mkfs.xfs /dev/vdb5 -f   ---强制将/dev/vdb5格式化为xfs格式

系统分区管理_第38张图片

检测:

mount /dev/vdb5 /mnt/


 df                       ---因为取消了加密,所以可以直接进行挂载,不会报错

系统分区管理_第39张图片


总结:如果要取消加密,那就必须要格式化,起到了对文件的保护作用,没有密码的用户,就不能获取到设备中的文件


 

 

 

你可能感兴趣的:(系统分区管理)