Linux系统中的磁盘管理(设备挂载,磁盘分区,swap 分区管理,gpt分区)

1.本地存储设备的识别
fdisk -l                # 查看硬盘上设备的真实存在的所有设备
cat /proc/partitions    # 查看系统识别的设备
blkid                   # 查看系统可以使用的设备
df                      # 查看系统正在挂载的设备
	df  -h     #查看到的设备大小更准确( 以2^n 计算  1M=1024K )
	df  -H    #查看到的设备大小不准确( 以10^n 计算 1M=1000K  )
	
注:从上到下,查看到的依次减少

[root@localhost Desktop]# fdisk -l	

在这里插入图片描述

[root@localhost Desktop]# cat /proc/partitions

在这里插入图片描述

[root@localhost Desktop]# blkid	

在这里插入图片描述

[root@localhost Desktop]# df	

在这里插入图片描述

2.设备的挂载和卸载
/dev/sda1   # /dev=设备  s=sata,d=disk,a表示第一块硬盘,1表示第一块磁盘的第一块 

(1)设备名称

/dev/xdxn           # 例如: /dev/sda   /dev/vda /dev/hd0    
	 x:硬盘类型(s:sata硬盘  h:串口硬盘  v:虚拟硬盘)     
	 x:a..z,硬盘所在个数     
	 n:1..16,分区所在个数
/dev/mapper/*      # 生成的文件都是用软件生成的,因此称为虚拟设备
/dev/sr0            # 光驱

(2)设备的挂载

mount    设备    挂载点
mount    /dev/sdb1     /mnt        # 挂载/dev/sdb1设备到/mnt下
mount   -o ro  /dev/sdb1  /mnt     # 只读挂载,ro表示只读
mount  -o remount,rw  /dev/sdb1   # 重新读写挂载,这个命令可以不用卸载之前的挂载
umoutn /mnt 
umoutn /dev/sdb1   # 卸载,卸载的时候可以卸载设备,也可以卸载挂载点
mount                           # 查看挂载信息

(3)解决设备忙的情况

[root@foundation42 ~]# mount /dev/sdb1 /mnt
[root@foundation42 ~]# cd /mnt
[root@foundation42 mnt]# umount /mnt   # 有的人不注意,直接在挂载点卸载设备,就会出现以下报错

在这里插入图片描述

第一种解决方案

[root@foundation42 mnt]# lsof /mnt   # 挂载点是什么,命令后就跟啥

在这里插入图片描述

[root@foundation42 mnt]# kill -9 14610   # 杀死占用进程的PID号
[root@foundation42 mnt]# kill -9 16243 

第二种解决方案

[root@foundation42 mnt]# fuser -vm /mnt	

在这里插入图片描述

[root@foundation42 mnt]# kill -9 16787
[root@foundation42 mnt]# kill -9 16867
或者
[root@foundation42 mnt]# fuser -kvm /mnt   #-v,详细信息,-m,查看有什么设备,-k,kill 
[root@foundation78  /]# umount /dev/sdb1
[root@foundation78 mnt]# mount -o ro /dev/sdb1 /mnt   # 只读挂载
[root@foundation78 mnt]# touch file
touch: cannot touch ‘file’: Read-only file system
[root@foundation78 mnt]# mount -o remount,rw  /dev/sdb1 /mnt   # 读写挂载
[root@foundation78 mnt]# touch file
[root@foundation78 mnt]# ls
???07161027  file  java??  java????.zip  System Volume Information

在这里插入图片描述

注:两个设备挂在同一个挂载点,第一个设备里的内容就会被覆盖,而且卸载的时候,要先卸载后挂载上去的,第一个挂载的才能被卸载

3.磁盘分区

(1)MBR(master boot recoder)信息

硬盘0磁道1扇区的512个字节中记录的信息如下:
512 = 446  +  64  +  2     
1.1 MBR主引导分区 446字节  
1.2 MPT主分区表  64字节  
1.3硬盘有效标示“55aa” 2字节  
1.4分区大小为16字节,故有4个分区其中3个主分区,1个扩展分区,扩展分区中成为逻辑分区
	主分区 :用分区表记录分区信息称为主分区 
	拓展分区:一种特殊的分区,专门用来存储更多的分区 
	逻辑分区:存储在拓展分区中的分区称为逻辑分区  
1.5注意:MBR分区最大只能分2TB,可识别的分区总数为16,可用的为14

(2)文件系统类型

ext4 :支持1EB(1EB=1024PB  1PB=1024TB)的文件系统和单个16TB的文件linux 6的标准文件系统   
ext2:支持最大分区4TB,最大文件2GB,适合小型存储设备  
Vfat:支持包括一系列相关文件系统(VFAT/FAT16/FAT32),针对较旧版本的Microsoft Windows开发   
Xfs:支持最大分区9EB   linux 7的标准文件系统,数据完全、性能稳定、扩展性强(8E-1b),传输效率(7G/s)

(3)在硬盘中进行分区管理

[root@server ~]# fdisk -l  # 查看分区

在这里插入图片描述

[root@server ~]# fdisk /dev/vdb    # 进入硬盘分区界面,前三分区为主要(primary)分区,第四个分区为拓展(extending)分区(包括四个逻辑分区)
Command (m for help): m 	

在这里插入图片描述

Command (m for help): n     # 新建分区	

在这里插入图片描述

Command (m for help): p  # 查看分区			

在这里插入图片描述

Command (m for help): wq     # 保存退出
[root@server ~]# partprobe  # 将磁盘分区表变化信息通知内核,请求操作系统重新加载分区表
[root@server ~]# cat /proc/partitions   # 查看自己刚才建立的分区	

在这里插入图片描述

[root@server ~]# mount /dev/vdb1 /mnt     # 把建立的分区挂载到/mnt下,但由于没有文件系统,不能挂载
mount: /dev/vdb1 is write-protected, mounting read-onlymount: unknown filesystem type '(null)'
[root@server ~]# mkfs.xfs  /dev/vdb1    # 安装文件系统xfs,也可以理解为格式成xfs类型	

在这里插入图片描述

[root@server ~]# blkid  #  查看可用分区	

在这里插入图片描述

[root@server ~]# mount /dev/vdb1 /mnt  # 此时挂载就会不会报错
[root@server ~]# df

在这里插入图片描述

当三个主分区被占满时,第四个分区就要分成扩展分区

[root@server ~]# fdisk /dev/vdb

在这里插入图片描述

Command (m for help): n	

在这里插入图片描述

Command (m for help): n  # 继续添加

在这里插入图片描述

Command (m for help): p   # 查看分区

在这里插入图片描述

[root@server ~]# partprobe
[root@server ~]# cat /proc/partitions

在这里插入图片描述

[root@server ~]# mkfs.xfs /dev/vdb5     # 格式化
[root@server ~]# mount /dev/vdb5  /mnt     # 临时挂载
[root@server ~]# df

在这里插入图片描述

[root@server ~]# mkfs.xfs /dev/vdb5
[root@server ~]# vim /etc/fstab  # 永久挂载
10 /dev/vdb5     /mnt        xfs     defaults    0    0 	

在这里插入图片描述

[root@server ~]# mount -a  # 读取挂载策略,检测正确性
[root@server ~]# reboot   # 重启之后,永久挂载生效 

[root@server ~]# fdisk /dev/vdb	
Command (m for help): d	

在这里插入图片描述

Command (m for help): n

在这里插入图片描述

Command (m for help): wq		
[root@server ~]# partprobe
[root@server ~]# mkfs.xfs /dev/vdb1  # 因为第一次建立第一块主分区时,已经格式化过了,系统有记录,两块分区名字一样,所以格式化失败

在这里插入图片描述

[root@server ~]# mkfs.xfs /dev/vdb1 -f   # 按照上面的方法,进行格式化
4.swap 分区管理

(1)添加swap分区

[root@server ~]# fdisk /dev/vdb
Command (m for help): n

在这里插入图片描述

Command (m for help): t    # 修改分区
idPartition number (1-6, default 6): 6   # 选择第六块分区
Hex code (type L to list all codes): L    # 根据提示查看所有的id码	

在这里插入图片描述

Hex code (type L to list all codes): 82   # 写上自己想要改变成为的id号
Changed type of partition 'Linux' to 'Linux swap / Solaris'  # 修改成功
Command (m for help): p   # 查看

在这里插入图片描述

[root@server ~]# partprobe
[root@server ~]# cat /proc/partitions

在这里插入图片描述

[root@server ~]# mkswap /dev/vdb6
Setting up swapspace version 1, size = 1023996 KiB
no label, UUID=7e31268d-145d-4431-8c25-99700b03ce4b 
[root@server ~]# swapon -a /dev/vdb6  # 激活swap分区
[root@server ~]# swapon -s   # 查看swap分区详细信息
Filename				Type		Size	Used	Priority
/dev/vdb6                              	partition	1023996	0	-1 
[root@server ~]# vim /etc/fstab   # 开机自动激活	
10 /dev/vdb6    swap   swap    defaults   0    0	

在这里插入图片描述

[root@server ~]# swapon -a    # 开启全部的交换空间,也可以理解为检测语法的正确性 	

(2)删除分区

[root@server ~]# vim /etc/fstab  # 删除下边那一行 
/dev/vdb6    swap   swap    defaults   0    0
[root@server ~]# swapoff /dev/vdb6    # 停止设备(先)
[root@server ~]# swapon -s  # 查看是否删除
[root@server ~]# fdisk /dev/vdb  # 删除分区(后)
Command (m for help): d
Partition number (1-6, default 6): 6
Partition 6 is deleted
Command (m for help): p  

在这里插入图片描述

[root@server ~]# partprobe  # 重新加载分区表

注:删除分区时,要先停止设备,不能先删除分区

5.要想建立更多的分区,可以把dos分区方式改为gpt的分区方式
   GUID磁盘分区表(GUID Partition Table,缩写:GPT)其含义为“全局唯一标识磁盘分区表”,是一个实体硬
 盘的分区表的结构布局的标准。它是可扩展固件接口(EFI)标准(被Intel用于替代个人计算机的BIOS)的一部分,
 被用于替代BIOS系统中的一32bits来存储逻辑块地址和大小信息的主开机纪录(MBR)分区表。

  Windows最大仅支持128个GPT分区,GPT可管理硬盘大小达到了18EB

[root@server ~]# parted   /dev/vdb
(parted) mklabel      # 按回车
New disk label type?      # 双击tab键                                                 
aix    amiga  bsd    dvh    gpt    loop   mac    msdos  pc98   sun    
New disk label type? gpt     # 选择gpt类型  
Warning: The existing disk label on /dev/vdb will be destroyed and all data on
this disk will be lost. Do you want to continue?
Yes/No? yes    
(parted) quit    

[root@server ~]# fdisk /dev/vdb  
Command (m for help): n

在这里插入图片描述

Command (m for help): p

在这里插入图片描述

Command (m for help): wq
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值