linux维护基本存储空间

维护基本存储空间

(使用一个块设备经过以下几个步骤)

添加磁盘:

1、查看磁盘(块设备)信息 --- lsblk

[root@localhost ~]# lsblk --- 重启后查看
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0   10G  0 disk --- 识别到了10G的新磁盘 
sr0            11:0    1  6.6G  0 rom  
nvme0n1       259:0    0   20G  0 disk 
├─nvme0n1p1   259:1    0    1G  0 part /boot
└─nvme0n1p2   259:2    0   19G  0 part 
  ├─rhel-root 253:0    0   17G  0 lvm  /
  └─rhel-swap 253:1    0    2G  0 lvm  [SWAP]

2、分区格式

(内核在使用旧的分区表时创建新分区表,新的分区表下次重启才会生效) 

(1)MBR分区

<1> 内容:MBR(Master Boot Record,主引导记录)是传统的分区机制,使用BIOS引导的PC设备,寻址空间只有32bit长,最大支持2.19TB

支持的分区数量:4个主分区或3个主分区1个扩展分区

<2> 标准MBR结构:

<3> 为什么MBR最多只能有4个主分区?

原因:分区表占据64个字节,可以对四个分区的信息进行描述,其中每个分区的信息占据16个字节

<4> 分区类型:

【1】主分区(primary partition):一块硬盘最多4个主分区,主分区不可以再进行二次分区。可以用来引导、启动操作系统 ,同时,主分 区可以直接建立文件系统,如windows的NTFS,存放数据

【2】扩展分区(extended partition):一块硬盘最多一个,加主分区最多4个,不能创建文件系统,可以划分逻辑分区。

【3】逻辑分区(logical partition):可以创建文件系统,存放数据,同时,逻辑分区的数量没有限制

<5> 从引导操作系统的角度来看,有系统分区,启动分区,活动分区分类:

  • 系统分区:用来启动操作系统,必须是主分区
  • 启动分区:安装操作系统的分区,可以是主分区也可以是逻辑分区
  • 活动分区:只能是作用于系统分区,有且仅有一个活动分区

考点:第二个SCSI硬盘的第三个逻辑分区如何表示

/dev/sdb7

在/dev目录下

<1> ide硬盘:hd开头

<2> sata,scsi硬盘:sd开头

<3> 云主机硬盘:vd开头

第一个硬盘为a,第二个为b

分区:5为第一个逻辑分区,第二个逻辑分区为7;第一个主分区为1,第二个主分区为2

(2)GPT分区

相较MBR的优点

  • 在默认情况下,GPT最多可支持128个分区
  • 支持大于2.2TB的总容量及大于2.2TB的分区,最大支持18EB(1EB=1024PB,1PB=1024TB,1TB=1024GB)
  • GPT分区表自带备份
  • 向后兼容MBR。GPT分区表上包含保护性的MBR区域

流程:创建分区 ---> 格式化 ---> 挂载(linux中,挂载才能使用)

3、分区工具 --- 创建分区

fdisk只能用于MBR分区,gdisk,parted可以用于GPT分区

  • fdisk大多数运维工作人员已经习惯这个交互模式
  • parted命令在创建删除分区使用命令比较方便,可划分大于2TB的分区,但是功能不是太完善,没有备份还原命令
  • gdisk在分区上命令和fdisk风格一样, 使用方便,学习难度低且功能强大,推荐使用

(1)fdisk --- 管理MBR分区

<1> 格式:fdisk 设备名

<2> 命令选项:(黄色为常用命令)

指令 作用
m
查看所有指令的帮助信息
n
创建新分区
p
显示当前磁盘的分区信息
w
把修改写入磁盘分区表,然后退出fdisk命令
d
删除磁盘分区
q
不保存更改,退出fdisk命令
a
调整磁盘的启动分区
l
显示所有支持的分区类型
g
新建一个空的 GPT 分区表
t
更改分区类型
u
切换所显示的分区大小单位
o
新建一个空的 DOS 分区表

例:对新建磁盘进行分区,创建一个500M的主分区

(2)gdisk --- 管理GPT分区

<1> 常用命令:([root@localhost ~]# gdisk /dev/sda --- 进入后再执行?命令) 

(3)parted --- 两种使用方式

  • 交互式:手动按序交互式创建
  • 非交互式:将命令行写在脚本中,运行脚本实现一键创建;适用于远程批量管理多台主机

例1:交互式(创建500M的主分区)

[root@localhost ~]# parted --- 进入交互式界面
(parted) mklabel gpt --- 将磁盘标签类型改为gpt
(parted) mkpart primary xfs 1M 500M --- 创建主分区,1M到500M,文件系统类型为xfs
(parted) print --- 查看
(parted) quit --- 退出

例2:非交互式(创建1G的主分区)

(parted) print                                                            
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  500MB   400MB   primary  xfs

[root@localhost ~]# parted /dev/sda rm 1 --- 删除刚才创建的分区,1为编号
[root@localhost ~]# parted /dev/sda mklabel gpt --- 将分区类型转为gpt格式
[root@localhost ~]# parted /dev/sda mkpart primary xfs 1M 1024M --- 创建主分区,1M到500M,文件系统类型为xf

4、格式化

(1)目的:形成文件系统

(2)命令格式:mkfs|mkfs.xfs|mkfs.ext4 [选项] 分区的设备名

(3)选项:

-t(文件系统类型)
当命令名为 mkfs , 指定要创建的文件系统的类型 ( :xfs ext4 vfat ) 。当命令名 为mkfs.xfs mkfs.ext4 等时 , 不需要该选项
-c
建立文件系统前先检查坏块
-V
输出建立文件系统的详细信息

PS:如果已有其他文件系统创建在此分区,必须在mkfs.xfs 命令中加上选项 -f 强行进行格式化

常用命令:

  • 法一:[root@localhost ~]# mkfs.xfs /dev/sda1
  • 法二:[root@localhost ~]# mkfs -t xfs /dev/sda1

5、挂载

(1)挂载命令:mount [-t 文件系统类型] 设备名 挂载点目录

(2)卸载分区:umount 挂载点目录或存储设备名

(3)分类:

<1> 临时挂载mount /dev/sda1 /data(直接在命令行输入)

挂载到/data目录下
[root@localhost ~]# mkdir /data
[root@localhost ~]# mount /dev/sda1 /data
[root@localhost ~]# df -h --- 查看挂载
/dev/sda1              495M   29M  466M   6% /data

<2> 永久挂载需将挂载添加到/etc/fstab文件中

(4)永久挂载方法

  • 分区文件名
  • UUID

[root@localhost ~]# parted /dev/sda mkpart primary xfs 1M 800M --- 创建800M的主分区
[root@localhost ~]# parted /dev/sda mkpart primary xfs 801M 2000M --- 创建1200M的主分区

例1:将/dev/sda1挂载到/data --- 分区文件挂载

挂载前格式化文件系统:[root@localhost ~]# mkfs.xfs -f /dev/sda1
挂载:[root@localhost ~]# vim + /etc/fstab --- 进入编辑,+为将光标定位到最后一行
/dev/mapper/rhel-root   /                       xfs     defaults        0 0
UUID=f6459400-5e6b-48b3-82f2-f0b2008c4865 /boot                   xfs     defaults        0 0
/dev/mapper/rhel-swap   swap                    swap    defaults        0 0
/dev/sda1               /data                   xfs     defaults        0 0
[root@localhost ~]# tail -1 /etc/fstab 
/dev/sda1		/data			xfs	defaults	0 0
[root@localhost ~]# mount -a --- 读取文件/etc/fstab中没有挂载的,然后实现挂载
[root@localhost ~]# df -h |grep /data --- 查看挂载
/dev/sda1              756M   38M  719M   5% /data

例2:将/dev/sda2挂载到/soft --- UUID挂载

创建挂载点:[root@localhost ~]# mkdir /soft
挂载前格式化文件系统:[root@localhost ~]# mkfs.ext4 /dev/sda2
查询UUID:[root@localhost ~]# blkid /dev/sda2
/dev/sda2: UUID="9f5a888a-6f80-47e9-9022-b9ab21bbbebf" TYPE="ext4" PARTUUID="58a5fdc7-02"
挂载:[root@localhost ~]# vim + /etc/fstab --- 进入编辑,+为将光标定位到最后一行
/dev/mapper/rhel-swap   swap                    swap    defaults        0 0
/dev/sda1               /data                   xfs     defaults        0 0
UUID="9f5a888a-6f80-47e9-9022-b9ab21bbbebf" /soft               ext4    defaults        0 0 
查看:[root@localhost ~]# tail -1 /etc/fstab 
UUID="9f5a888a-6f80-47e9-9022-b9ab21bbbebf" /soft		ext4	defaults        0 0
[root@localhost ~]# mount -a --- 读取文件/etc/fstab中没有挂载的,然后实现挂载
查看挂载情况:[root@localhost ~]# df -h | grep /soft
/dev/sda2              1.1G  2.8M 1018M   1% /soft
[root@localhost ~]# mount | grep soft
/dev/sda2 on /soft type ext4 (rw,relatime,seclabel)

6、案例

(1)fdisk --- 创建一个5G的扩展分区,划分逻辑分区,500M和1G

(2)gdisk --- 创建和删除分区

例1:创建分区

[root@localhost ~]# gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.3

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): n --- 创建
Partition number (1-128, default 1): 
First sector (2048-20971486, default = 2048) or {+-}size{KMGTP}: 
Last sector (2048-20971486, default = 20971486) or {+-}size{KMGTP}: +1G --- 设置大小
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 
Changed type of partition to 'Linux filesystem'

Command (? for help): w --- 保存退出

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y --- 确认命令
OK; writing new GUID partition table (GPT) to /dev/sda.
The operation has completed successfully.
[root@localhost ~]# lsblk 
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0   10G  0 disk 
└─sda1          8:1    0    1G  0 part 
sr0            11:0    1  6.6G  0 rom  
nvme0n1       259:0    0   20G  0 disk 
├─nvme0n1p1   259:1    0    1G  0 part /boot
└─nvme0n1p2   259:2    0   19G  0 part 
  ├─rhel-root 253:0    0   17G  0 lvm  /
  └─rhel-swap 253:1    0    2G  0 lvm  [SWAP]

格式化:[root@localhost ~]# mkfs.xfs -f /dev/sda1
挂载:[root@localhost ~]# mount /dev/sda1 /data

例2:删除分区

首先卸下挂载:[root@localhost ~]# umount /dev/sda1

(3)parted --- 创建一个5G的扩展分区,逻辑分区为800M

<1> 交互式

[root@localhost ~]# parted --- 进入交互式界面
(parted) mklabel msdos --- 转换类型为msdos
(parted) mkpart extended 1M 5G --- 划分扩展分区
(parted) mkpart logical xfs 1M 800M --- 文件系统类型为xfs

<2> 非交互式

转换类型为msdos:[root@localhost ~]# parted /dev/sda mklabel msdos
划分扩展分区:[root@localhost ~]# parted /dev/sda mkpart extended 1M 5G 
创建逻辑分区:[root@localhost ~]# parted /dev/sda mkpart logical xfs 1M 800M ---文件系统类型为xfs

猜你喜欢

转载自blog.csdn.net/weixin_62443409/article/details/129541201