Linux之系统中的磁盘管理

##### 1.本地存储设备的识别 #####

    fdisk -l        ##真实存在的设备


    cat /proc/partitions    ##系统识别的设备


    blkid            ##系统可使用的设备


    df            ##系统正在挂载的设备

##### 2.设备的挂载和卸载 #####

扫描二维码关注公众号,回复: 2630862 查看本文章

    1.设备名称
      /dev/xdx                   ##/dev/hd0 /dev/hd1         并口硬盘    
                                       ##/dev/sda /dev/adb         串口硬盘
                                       ##/dev/sda1 /dev/sdb2     磁盘分区
      /dev/sr0                   ##光驱
      /dev/mapper/*        ##虚拟设备

    2.设备的挂载
    mount       设备       挂载点            
    mount   /dev/sdb1    /mnt              ##挂载sdb1到mnt


    umount    /mnt | /dev/sdb1             ##卸载

    mount                                              ##查看挂载信息

    mount -o ro /dev/sdb1 /mnt           ##只读挂载


^ 只读挂载,不可以写入文件。


    mount -o remount,rw /dev/sdb1 | /mnt    ##重新读写挂载

^ 重新读写挂载后可以写入文件。

    3.设备正忙的情况
    umount  /mnt/                 
    umount: /mnt:target is busy.    ##有程序在使用此设备
    (In some cases useful info about processes that
    the device is found by lsof(8) or fuser(1))


    解决方法1
        fuser -vm /mnt          ##查看占用挂载点的进程

        fuser -km /mnt          ##杀死占用挂载点的进程

        umount /mnt             ##卸载

    解决方法2

        lsof /mnt                      ##查看当前系统文件

        kill -9                           ##杀死占用进程

        /umount /mnt              ##卸载

##### 3.磁盘分区 #####


 硬盘0磁道1扇区的512个字节中记录的信息:
    512=       446       +                         64             +                   2
                      ^                                       ^                                    ^
       mvr(主引导记录)             mpt(主分区标)    55aa(硬盘的有效性标实)

1.MBR 信息

MBR 主引导分区    446字节

MPT 主分区表        64字节

硬盘有效标示 "55aa"   2字节

分区大小为16字节,故有4个分区

其中3个主分区,1个扩展分区,扩展分区中成为逻辑分区

注意:MBR分区最大只能分2TB,可识别的分区总数为16,可用的为14

2.分区命令

fdisk /dev/vdb                                                           ##进入硬盘管理

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): p
Partition number (1-4, default 1):
First sector (2048-20971519, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +500M
Partition 1 of type Linux and of size 500 MiB is set

^ 建立三个大小500M的主分区。

^ p可以查看分区表,三个主分区建立完成。

Command (m for help): n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): e      ##3个主分区出现要先划分扩展分区
Selected partition 4
First sector (3074048-20971519, default 3074048):
Using default value 3074048
Last sector, +sectors or +size{K,M,G} (3074048-20971519, default 20971519):
Using default value 20971519
Partition 4 of type Extended and of size 8.5 GiB is set

^ 建立扩展分区。

Command (m for help): n
All primary partitions are in use
Adding logical partition 5
First sector (3076096-20971519, default 3076096):
Using default value 3076096
Last sector, +sectors or +size{K,M,G} (3076096-20971519, default 20971519): +500M
Partition 5 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: 0xcc5e51cf

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048     1026047      512000   83  Linux
/dev/vdb2         1026048     2050047      512000   83  Linux
/dev/vdb3         2050048     3074047      512000   83  Linux
/dev/vdb4         3074048    20971519     8948736    5  Extended    ##把所有空间都给扩展分区
/dev/vdb5         3076096     4100095      512000   83  Linux

^ 建立完成后的硬盘分区表。

^ 设置完成后wq退出并保存磁盘分区表。

##### 4.给设备安装文件系统 #####

1.文件系统类型

    ext4    支持1EB(1EB=1024PB  1PB=1024TB)的文件系统和单个16TB的文件

                linux 6的标准文件系统

    ext3   rhel5及之前的版本      最多支持32TB的文件系统和2t文件,实际2tb文件系统,16G文件

    ext2     支持最大分区4TB,最大文件2GB,适合小型存储设备

    vfat      支持包括一系列相关文件系统(VFAT/FAT16/FAT32),针对较旧版本的Microsoft Windows开发

     xfs       支持最大分区9EB

                linux 7的标准文件系统,数据完全、性能稳定、扩展性强(8E-1b),传输效率(7G/s)

2.格式化分区  

     mkfs.xfs   /dev/vdb1         ##文件系统类型xfs

     注意:可用mkfs -t   xfs    /dev/vdb1进行格式化

vim /etc/fstab                            ##设置开机自动挂载

注意:/etc/rc.d/rd.local 是开机执行脚本,/etc/fstab 文件负责配置Linux开机时自动挂载的分区,后者优先级高。

设备               挂载点      文件系统           挂载参数      是否备份          是否检测
/dev/vdb1         /mnt                xfs                defaults              0                       0

mount -a                                  ##重新读取/etc/fstab开机自动挂载文件

***实验中可能出现的问题及解决办法:/etc/fstab 文件编辑错误

^ 重启时出现以上错误。根据提示输入超户密码进入交互式环境。

^ vim /etc/fstab 文件修改正确,reboot 命令重启。

##### 5.swap分区管理 #####

1.建立分区

^ 实验中我们将/dev/vdb6 区设置为swap分区。

2. 修改分区类型

Command (m for help): l

^ l 查看所有类型分区对应id。

Command (m for help): t
Partition number (1-6, default 6): 6
Hex code (type L to list all codes): 82
Changed type of partition 'Linux' to 'Linux swap / Solaris'

^ t 修改/dev/vdb6 id 为swap分区的对应 ip 82。

^ 修改成功。

3.格式化swap分区

mkswap  /dev/vdb6                       ##格式化swap分区

***可能出现的问题:

^ 修改磁盘分区表后系统没有重读数据,找不到新建分区。

***解决办法:partprobe命令让系统读取新的磁盘分区表信息。

^ 格式化成功。

4.swap分区挂载

swapon -a /dev/vdb6            ##挂载swap分区

swapon -s                              ##查看swap分区信息

5.设置为永久swap分区

vim /etc/fstab                         ##编辑开及自动挂载管理文件
/dev/vdb6    swap   swap   dafaults      0     0

swapon -a                               ##检测报错

6.swap分区的删除

vim /etc/fstab                             ##取消自动挂载

swapoff /dev/vdb6                     ##关闭swap分区

##### 6.分区配额 #####

注意:配额是针对分区的,设置的是用户在某个分区的最大限额。

1.挂载时设置配额参数

    mount  -o   usrquota   /dev/vdb1  /public

  2.进行配额设置    ##数据单位 K

    edquota  -u   student                                ##设置student用户可使用的各分区配额

    blocks      ##文件已占用分区大小                         soft     ##文件超出配额大小,报警

    hard         ##文件不能超出配额大小                 inodes    ##文件个数

    soft          ##文件/目录个数,超额报警               hard     ## 文件/目录个数不能超额

  

    注意:xfs 文件系统默认配额功能开启,ext4之前的文件系统需要quotaon  -n   /dev/vdb 命令激活

3.测试

测试前设置/public目录权限为777,保证其对student用户可写。

切换到student用户向/public写入大小超过限额的文件。

^ 出现报错,超出配置时,只能截取配额大小的容量。

注意:该配额设置是临时的,若需要永久修改,在配置文件/etc/fstab中

##### 7.磁盘加密 #####

1.设置磁盘密码

cryptsetup luksFormat /dev/vdb5

2.以解密模式打开磁盘

cryptsetup open  /dev/vdb5 lsy                   ##文件名随意

^ 磁盘解密后在/dev/mapper 虚拟磁盘目录下。

3.磁盘格式化

mkfs.xfs /dev/mapper/lsy

4.挂载磁盘

mount /dev/mapper/lsy /mnt


 

5.关闭磁盘文件

umount /mnt                                               ##卸载之后才能关闭磁盘文件

cryptsetup close lsy                                  ##关闭后虚拟磁盘目录下磁盘文件消失

6.测试

^ 磁盘文件关闭后存储数据,再次打开访问需要密码

^ 加密磁盘不能被挂载,无法访问数据

7.设置加密磁盘开机自动挂载

     1.建立密码文件     ##写入密码

         vim  /root/diskpass

     2.修改文件权限,设置root只读

         chmod  600  /root/diskpass 

     3.修改文件,使磁盘识别密码

       vim  /etc/crypttab

   

        ^                   ^                                       ^

磁盘文件名   加密磁盘                        密码文件

     4.磁盘加密时读取密码文件

     cryptsetup   luksAddKey   /dev/vdb5    /root/diskpass

     5.修改开机自启动文件  vim /etc/fstab

   

     开机后,磁盘自动挂载

  8.取消磁盘加密

      1.卸载  umount /mnt

      2.关闭磁盘文件  cryptsetup close lsy

      3.格式化磁盘    ##磁盘已加密,须强制格式化

        mkfs.xfs    /dev/vdb5    -f

      4.修改配置文件,还原设置

     vim    /etc/crypttab

     vim     /etc/fstab

      5.密码文件删除(可做可不做,建议删除)

     rm   -fr    /root/diskpass

猜你喜欢

转载自blog.csdn.net/Sangyumo/article/details/81408743