linux系统中磁盘的管理

1、本地存储设备的识别

fdisk -l #查看真实存在的设备
在这里插入图片描述
cat proc/partitions #查看系统可识别的设备
在这里插入图片描述
blkid # 查看系统可使用的设备
在这里插入图片描述
df #系统正在挂载的设备
在这里插入图片描述

2、设备的挂载和卸载
  • 设备名称
    /dev/xdx #/dev/vda /dev/vdb
    /dev/sr0 #光驱
    /dev/mapper/ #虚拟设备*
    在未插入u盘之前 使用df查看系统挂载的设备 :
    在这里插入图片描述
    插入u盘后再次使用df查看系统挂载的设备,多出来的就是u盘设备。
    在这里插入图片描述
  • 设备的挂载
    格式:mount 设备 挂载点
   mount  /dev/sdc1     /mnt        #挂载sdc1 到/mnt
   umount   /mnt                    #卸载

在这里插入图片描述

  mount   -o  ro    /dev/sdc1     /mnt    #只读挂载 
  mount     #查看挂载信息

在这里插入图片描述
在这里插入图片描述
mount -o remount,rw /dev/sdc1 /mnt #重新读写挂载
在这里插入图片描述
在这里插入图片描述

  • 解决设备正忙情况
    有程序正在占用该设备,无法卸载。
    在这里插入图片描述
    解决方法1
    lsof /mnt # 查看占用该设备的进程信息
    kill -9 PID #结束该占用进程
    umount /mnt # 再次卸载设备
    在这里插入图片描述
    解决方法2
    fuser -kvm /mnt #直接结束占用该设备的进程
    umount /mnt # 再次卸载设备
    在这里插入图片描述
3、MBR 主引导记录

我们将包含磁盘中包含MBR引导代码的扇区(0磁道1扇区)称为主引导扇区。主引导扇区由三个部分组成(共占用512个字节):

  • 主引导程序即主引导记录(MBR),占446个字节。它用于硬盘启动时将系统控制转给用户指定的某个操作系统。
  • 磁盘分区表项,共计64个字节。负责说明磁盘上的分区情况,每一个分区信息占用16个字节。一个磁盘可以最多直接划分成四个分区。如果需要划分更多的分区,可以将一个主分区替换成扩展分区,再在扩展分区中划分逻辑分区。
    主分区:分区信息记录在分区表中的分区。
    扩展分区:除过主分区占用的磁盘空间之外,为了划分更多的分区,将剩余的空间做成统一的容器,成为扩展分区。扩展分区不能直接使用。
    逻辑分区:在扩展分区中再次划分出来的分区,成为逻辑分区。
  • 结束标志(占2个字节)55AA。
4、分区步骤
  • 添加分区
[root@localhost Desktop]# fdisk -l      #显示系统存在的设备
Disk /dev/vda: 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: 0x00013f3e

   Device Boot      Start         End      Blocks   Id  System   
/dev/vda1   *        2048    20970332    10484142+  83  Linux     #第二个

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

[root@localhost Desktop]# 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.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x83b2f102.

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): 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: 0x83b2f102

   Device Boot      Start         End      Blocks   Id  System    #新建分区在此显示
/dev/vdb1            2048      206847      102400   83  Linux

Command (m for help): wq   #保存分区信息并退出
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost Desktop]# partprobe  更新分区列表
  • 当主分区已经存在四个但是还需要对剩余的空间进行划分时,会提示将一个主分区替换成扩展分区,然后在扩展分区中再次进行划分逻辑分区:
[root@localhost Desktop]# 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): 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: 0x83b2f102

   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      821247      102400   83  Linux

Command (m for help): n  #在此新建分区
If you want to create more than four partitions, you must replace a    #提示若是要建立超过四个分区,需要将一个主分区替换成扩展分区
primary partition with an extended partition first.

Command (m for help): d  #删除
Partition number (1-4, default 4): 4   #分区-d
Partition 4 is deleted   # 四号分区被成功删除

Command (m for help): n  #重新新建
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e):   # 默认选择使用扩展分区
Using default response e
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

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: 0x83b2f102

   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

Command (m for help): n  #新建
All primary partitions are in use
Adding logical partition 5     #系统不再询问建立分区类型 默认在扩展分区中建立逻辑分区
First sector (618496-20971519, default 618496): 
Using default value 618496
Last sector, +sectors or +size{K,M,G} (618496-20971519, default 20971519): +100M
Partition 5 of type Linux and of size 100 MiB is set

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

Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost Desktop]# partprobe   #更新分区列表信息
[root@localhost Desktop]# 
  • 系统中一个硬盘最多可以被识别16个设备 ,当划分的分区过多时,虽然存在但是系统不能识别超过十六个之外的设备:
    在这里插入图片描述
    在这里插入图片描述
5、给设备安装文件系统

文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。刚划分出来的设备不能直接使用,只有在安装了文件系统之后才能使用。

  • 文件系统的类型
    在这里插入图片描述
  • 安装文件系统
mkfs.xfs     /dev/vdb1      #格式化设备并安装文件类型xfs
mount  /dev/vdb1    /mnt    #挂载安装文件类型后的设备

在这里插入图片描述

  • 设置开机自动安装文件系统
    编辑文件:vim /etc/fstab
    mount -a
    在这里插入图片描述
    在这里插入图片描述
6、swap分区管理

Swap分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。这些被释放的空间被临时保存到Swap分区中,等到要运行时再从Swap分区中恢复保存的数据到内存中。是保证系统正常运行的必要分区。
mkswap /dev/vdb2 #将设备格式化成swap类型
swapon -a /dev/vdb2 #添加swap分区
swapoff /dev/vdb2 # 移除swap分区

[root@localhost Desktop]# cat /proc/partitions   # 查看系统能够识别的设备信息
major minor  #blocks  name

 253        0   10485760 vda
 253        1   10484142 vda1
 253       16   10485760 vdb
 253       17     102400 vdb1
 253       18     102400 vdb2
 253       19     102400 vdb3
[root@localhost Desktop]# blkid   #显示系统能够使用的设备
/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs" 
/dev/vdb1: UUID="f2f2c9f9-4a19-45b6-9cce-79780a834e31" TYPE="xfs" 
[root@localhost Desktop]# fdisk /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): t   #修改分区的id
Partition number (1-3, default 3): 2  #选择第二个设备
Hex code (type L to list all codes): l  显示所有的种类列表

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
 1  FAT12           27  Hidden NTFS Win 82  LINUX SWAP / SO c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         
 5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data    
 6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         
 9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     
 a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi eb  BeOS fs        
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f2  DOS secondary  
16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep        
1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT            
1e  Hidden W95 FAT1 80  Old Minix      
Hex code (type L to list all codes): 82  #修改分区的系统类型
Changed type of partition 'Linux' to 'Linux swap / Solaris'

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: 0x83b2f102

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048      206847      102400   83  Linux
/dev/vdb2          206848      411647      102400   82  Linux swap / Solaris   #该设备系统类型被修改
/dev/vdb3          411648      616447      102400   83  Linux

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

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@localhost Desktop]# partprobe  #更新系统分区列表

[root@localhost Desktop]# mkswap /dev/vdb2   #格式化设备为swap类型
Setting up swapspace version 1, size = 102396 KiB
no label, UUID=6e45c02c-32d2-474e-964e-0e06224c7a71
[root@localhost Desktop]# blkid   #显示系统能够使用的设备
/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs" 
/dev/vdb1: UUID="f2f2c9f9-4a19-45b6-9cce-79780a834e31" TYPE="xfs" 
/dev/vdb2: UUID="6e45c02c-32d2-474e-964e-0e06224c7a71" TYPE="swap"   #显示设备类型为swap
[root@localhost Desktop]# swapon -a /dev/vdb2  #安装设备扩展swap分区
[root@localhost Desktop]# swapon -s       # 查看安装到swap分区的设备
Filename				Type		Size	Used	Priority
/dev/vdb2                              	partition	102396	0	-1        #显示该设备

在这里插入图片描述

  • 设置开机自动设置添加swap分区
    编辑文件:vim /etc/fstab
    在这里插入图片描述
    swapon -a
    swapon -s

    在这里插入图片描述
7、磁盘的配额

mount -o usrquota /dev/vdb2 /mnt # 带有对用户的配额对分区进行挂载
在这里插入图片描述
在这里插入图片描述
chmod 777 /mnt
quotaon - uv /dev/vdb2
edquota -u student
在这里插入图片描述

  • 设置开机自动携带配额参数挂载分区
    vim /etc/fstab #编辑配置文件
    在这里插入图片描述
    关机重启系统
    测试配额效果
    在这里插入图片描述
8、磁盘加密

使用文件系统底层加密, 就是先给磁盘加密,在进行安装文件系统。

  • 加密步骤
    cryptsetup luksFormat /dev/vdb3 # 设置该分区为加密磁盘类型
    在这里插入图片描述
    cryptsetup open /dev/vdb3 lala # 打开加密磁盘 为虚拟化设备lala
    mkfs.xfs /dev/mapper/lala
    # 给虚拟化设备添加文件类型
    在这里插入图片描述
    mount /dev/mapper/lala /mnt # 将打开的虚拟设备挂载
    umount /mnt # 卸载
    cryptsetup close lala # 关闭加密磁盘
    在这里插入图片描述
  • 加密磁盘开机自动挂载
    vim /etc/fstab
    在这里插入图片描述
    vim /etc/crypttab
    在这里插入图片描述
    vim /root/lalakey
    在这里插入图片描述
    cryptsetup luksAddKey /dev/vdb3 /root/lalakey # 将放置密码的文件与加密设备进行绑定
    开机重启查看加密磁盘自动挂载情况
    在这里插入图片描述
  • 删除加密设备
    /etc/fstab #删除该配置文件中写入的内容
    在这里插入图片描述
    /etc/crypttab #删除该配置文件中写入的内容,清空该文件
    在这里插入图片描述
    rm -fr /root/lalakey #删除编写的密码文件
    mkfs.xfs /dev/vdb3#给磁盘添加xfs文件系统。
    在这里插入图片描述
9、GPT分区表

使用gpt的分区模式,不限制分区的大小,以及分区的数量。
设置方式:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/shang_feng_wei/article/details/89341525