RHEL之(十一)Red Hat Linux 磁盘管理(上)

磁盘管理

  一、分区概念

  硬盘分区是指将硬盘的整体存储空间划分成多个独立的区域,分别用于安装操作系统,应用程序以及存储数据文件等。例如Windows系统也分为CDEFG盘,其中C盘一般作为安装操作系统的盘。这些盘就是一个个在物理硬盘上创建的独立的逻辑单元(分区)。

  在分区之前,应该做一些准备和计划工作,包括一块硬盘要划分几个分区,每个分区应该有多大的容量,以及每个分区准备使用什么文件系统等等。从文件存放和管理方便,容易和快捷出发,建议将硬盘划分成多个分区,用来存放不同类型的文件。

  硬盘分区从实质上说就是对硬盘的一种格式化

 

  硬盘分区的格式分为MBRGPT两种:

  (1)MBR分区:

  MBR是主引导记录(Master Boot Record)的英文缩写,在传统硬盘分区模式中,引导扇区是每个分区(Partition)的第一扇区,而主引导扇区是硬盘的第一扇区。为了方便计算机访问硬盘,把硬盘上的空间划分成许许多多的区块(英文叫sectors,即扇区),然后给每个区块分配一个地址,称为逻辑块地址(即LBA)。

  

 

 

 

  在MBR磁盘的第一个扇区内保存着启动代码硬盘分区表启动代码的作用是指引计算机从活动分区引导启动操作系统(BIOS下启动操作系统的方式);分区表的作用是记录硬盘的分区信息

  在MBR中,分区表的大小是固定的,一共可容纳4个主分区信息。在MBR分区表中逻辑块地址采用32位二进制数表示,因此一共可表示2^32(2的32次方)个逻辑块地址。如果一个扇区大小为512字节,那么MBR硬盘最大分区容量仅为2TB

 

  Tips

  1. 单个分区大小不能超过2TB
  2. 主分区最多4个,如果分区多于4个,就要将其中一个分区设置为1个扩展分区(占用1个主分区的位置),然后在扩展分区内建立逻辑分区(逻辑分区的序号永远从5开始)。

 

  (2)GPT分区

  GPT是GUID磁碟分割表GUID Partition Table)的缩写,含义“全局唯一标识磁盘分区表”,是一个实体硬盘的分区表的结构布局的标准。

  在GTP磁盘的第一个数据块中同样有一个与MBR(主引导记录)类似的标记,叫做PMBR。PMBR的作用是,当使用不支持GPT的分区工具时,整个硬盘将显示为一个受保护的分区,以防止分区表及硬盘数据遭到破坏。UEFI并不从PMBR中获取GPT磁盘的分区信息,它有自己的分区表,即GPT分区表

   

  GPT的分区方案之所以比MBR更先进,是因为在GPT分区表头中可自定义分区数量的最大值,也就是说GPT分区表的大小不是固定的。在Windows中,微软设定GPT磁盘最大分区数量为128个。另外,GPT分区方案中逻辑块地址(LBA)采用64位二进制数表示,可以表示2^64个逻辑块地址。除此之外,GPT分区方案在硬盘的末端还有一个备份分区表,保证了分区信息不容易丢失。

 

  Tips

  1. 没有主分区、扩展分区和逻辑分区,全部采用GUID来标识最多支持128个分区
  2. 可以支持2TB以上的分区
  3. GPT分区方案在硬盘的末端还有一个备份分区表,保证了分区信息不容易丢失。

 

 

  二、实验前准备

  给虚拟机添加一块全新的硬盘盘(NVMe,容量 20GB)

  (1)由于NVMe硬盘不能热插拔,所以需要将虚拟机关机

  命令:shutdown -h now

  Tips-h关机后不启动 -r关机后立即启动

       -t xxx(数字)几秒后关机  -c取消一个shutdown进程

 

  (2)VMware左边的菜单栏上右键点击想要新增硬盘的虚拟机,选择设置,打开虚拟机设置界面。

    

  在下方点击添加,硬件类型选择硬盘-》NVMe(V)-》创建新的虚拟磁盘-》磁盘大小选择20GB(将虚拟磁盘拆分为多个文件)-》完成

    

   

   

   

    

 

  三、分区的基本操作方法

  (1)MBR基本分区的操作方法:

  A. 查看磁盘:fdisk -l 

   

 

 

 

 

  B. 进入fdisk操作界面:fdisk /dev/nvme0n2(按m可以查看帮助)、

   

   

   

  

  C. 建立分区(大小为2G)

   

  创建分区成功后,可以使用命令p查看当前分区

   

  最后,一定要牢记使用w保存创建的分区

   

 

  D. 让内核加载新的分区信息

    partprobe  ##重新读取分区信息

    lsblk ##查看块设备的信息

   

  Tips

  在使用fdisk创建分区时,我们会使用partprobe命令可以使kernel重新读取分区信息,从而避免重启系统,但是有时候会遇到下面错误信息“Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 has been opened read-only.”(如上图所示)

  其实不要担心和紧张, /dev/sr0是光驱(CD Drive),因为运行partprobe时没有指定设备,所以它会检查所有的块设备block devices),由于光驱是read-only,所以报上述告警信息。但是partprobe命令还是成功执行的

  其实避免这个错误也很简单,你只需要使用partprobe检查、扫描指定设备即可。

 

  E. 创建文件系统(对分区进行格式化)

   

 

  F. 挂载(将块设备映射到系统上的指定目录上,实现对数据的读写)

  临时挂载:

   

  

   

  Tipsdf -Th   ##查看磁盘大小

       df -i     ##查看inode:文件的字节数,拥有者id,组id,权限,改动时间,链接数,数据block的位置

  永久挂载:配置文件/etc/fstab,建议用硬件唯一标识符UUID来挂载

  blkid ##显示可用块设备的信息,用于指定的键值对搜索一个设备,或是显示一个或多个设备的键值对

   

  记录下该块设备的UUID后,在配置文件/etc/fstab中写入配置信息

   

  确定保存后,重新挂载一次(mount -a),然后进行挂载点创建一个文件以供测试,确定新建的分区可以正常使用。

   

 

  Tips:磁盘设备的常见命名(X代表磁盘号,Y代表分区号,Z代表总线号): 

  /dev/hdXY:机械硬盘(IDE等) 

  /dev/sdXY:机械硬盘(SATA/SCSI)/U盘 

  /dev/vdXY:虚拟磁盘 

  /dev/nvmeZnXpY:NVMe协议硬盘 

  /dev/sr0:光驱 

  /dev/mapper/part_name-dir_name:映射磁盘(LVM或者网络磁盘)

 

 

  (2)GPT基本分区的操作方法:

  A. 为虚拟机再添加一个新的硬盘nvme0n3

   

   

 

  B.  新硬盘分区:gdisk /dev/nvme0n3(按?查看帮助)

   

 

   

  通过帮助可以知道,常用命令n是新建一个分区,p是打印分区表,d是删除一个分区,w是保存设置并退出。详情如下:

   

 

   

 

   

  最后按下w保存分区设置并退出。

   

  最后使用命令lsblk查看块设备信息,此时已经可以看到刚新建的分区了

   

 

   

 

  C. 格式化(此处用ext4文件系统)

   

 

  D. 挂载(这里只演示永久挂载)

   

  由于做gdisk的教学开始,与做fdisk使用的是两台不同的电脑,所以硬盘分区/dev/nvme0n2p1等块设备的UUID与前面的不一致,请谅解。

   

   

   

 

  (3)使用命令parted进行分区操作

  parted和fdisk类似,先选择要进行分区操作的硬盘/dev/nvme0n4

  

 

  A. 创建分区

  选择了/dev/nvme0n2作为我们操作的磁盘,接下来需要创建一个分区表(在parted中可以使用help命令打印帮助信息):

   

   

  mklabel   ##创建一个新的分区表 

   

 

  B. 完成分区操作

  创建好分区表以后,接下来就可以进行分区操作了,执行mkpart命令,分别输入分区名称,文件系统和分区的起止位置。

   

  Tips

  Start和End可以用百分比表示,比如0%和50%

  使用print查看分区详情

   

 

  C. 删除分区

  如果分区错了,可以使用rm命令删除分区,比如我们要删除上面的分区,然后打印删除后的结果。

  首先再创建一个分区

   

   

  使用rm删除多余的分区

  

   

  D. 格式化和挂载(与fdisk相同,下略)

   

   

 

posted @ 2021-12-30 16:21  若水一瓢  阅读(853)  评论(0编辑  收藏  举报