管理磁盘分区与文件系统

一:创建磁盘分区

1:了解磁盘分区的概念和规则

1)磁盘分区的格式

主要分为2中mbr和gpt格式

mbr格式:(最常用的)

主要有4个主分区或者3个主分区和一个扩展分区,扩展分区上面又可以划分多个逻辑分区

gpt格式:

没有主分区和扩展分区的概念,可以定义128个主分区

2)磁盘的分区的类型

主分区:可以直接在上面写数据

扩展分区:不能在上面写数据

逻辑分区:在扩展分区上面划分的,可以写数据

3)磁盘分区的原则

主分区最多有4个

扩展分区最多一个,加上主分区最多有4个,不能写入数据,包含逻辑分区

逻辑分区:可以写数据

2:了解磁盘命令的规则

ide设备 /dev/hd[a-d]
scsi/sata设备 /dev/sada-d]
光驱 /dev/cdrom
鼠标 /dev/mouse

sda1就是sda的第一个主分区

3:查看系统中的块设备与分区lsblk命令

[root@localhost ~]# lsblk 
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0   20G  0 disk 
├─sda1          8:1    0  500M  0 part /boot
└─sda2          8:2    0 19.5G  0 part 
  ├─rhel-root 253:0    0 15.5G  0 lvm  /
  └─rhel-swap 253:1    0    4G  0 lvm  [SWAP]
sdb             8:16   0    5G  0 disk 
sr0            11:0    1  3.5G  0 rom  /run/media/root/RHEL-7.3 Server.x86_64
[root@localhost ~]# 

4:磁盘分区的命令:fdisk命令

1)创建分区的的流程

新添加一个硬盘,然后重启,找到硬盘的名字,才能进行后面的操作

然后使用fdisk命令来创建分区,使用fdisk命令来使用

完成分区后,刷新这个分区,partprobe /dev/sdb 就能看的到创建好的分区的列表

有一个起始扇区和一个结束扇区,前面还有一个0号扇区,用于存储磁盘的信息,或者打印磁盘列表的信息

 

fdisk -l 就是查看磁盘的分区列表

fdisk格式:

fdisk   磁盘 

常见的选项:

d 删除磁盘分区
l 列出所有支持的分区类型
m 获取帮助(列出所有命令)
n 创建新的分区
p 列出磁盘分区的情况
q 退出磁盘分区(不做任何的修改)
t 更改分区的类型
w 将更改写入磁盘,并退出

常见的操作就是,将一块磁盘分为3个主分区,1个逻辑分区

下面就来操作一下

命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5
起始 扇区 (1232896-10485759,默认为 1232896):
将使用默认值 1232896
Last 扇区, +扇区 or +size{K,M,G} (1232896-10485759,默认为 10485759):+200M
分区 5 已设置为 Linux 类型,大小设为 200 MiBh 

划分三个主分区,剩下的空间全给扩展分区,然后在上面划分逻辑分区

二:创建文件系统

1:了解文件系统

分好了磁盘的分区,就要将磁盘变成文件系统,因为磁盘就是存储数据的,就相当于格式化

常见的文件系统:

ext2,ext3,ext4(常见的),nfs,iso9660,swap

2:创建文件系统的命令 mkfs

格式: mkfs 选项 文件系统

选项:

-t 类型 指定创建文件系统

-c 建立文件系统之前先检查坏块

-V 输出建立文件系统的详细信息

[root@localhost ~]# mkfs -t ext4 /dev/sdb1 

3:修复文件系统的命令:fsck命令

选项:

-a 如果有问题,则自动修复

-t 指定文件系统的类型  

-s 逐个进行检查

三:手动挂载与卸载文件系统

1:mount命令

t ;指定文件系统的类型

r:以只读的方式挂载

w:以可写的方式挂载

a:挂载/etc/fstab中所有记录的设备

[root@localhost ~]# mount /dev/sdb1 /mnt
[root@localhost ~]# df -hT
文件系统              类型      容量  已用  可用 已用% 挂载点
/dev/mapper/rhel-root xfs        16G  3.0G   13G   20% /
devtmpfs              devtmpfs  977M     0  977M    0% /dev
tmpfs                 tmpfs     993M   88K  993M    1% /dev/shm
tmpfs                 tmpfs     993M  9.0M  984M    1% /run
tmpfs                 tmpfs     993M     0  993M    0% /sys/fs/cgroup
/dev/sda1             xfs       497M  148M  350M   30% /boot
tmpfs                 tmpfs     199M   12K  199M    1% /run/user/0
/dev/sr0              iso9660   3.6G  3.6G     0  100% /run/media/root/RHEL-7.3 Server.x86_64
/dev/sdb1             ext4      190M  1.6M  175M    1% /mnt
[root@localhost ~]#   

2:卸载文件系统 umount命令

[root@localhost ~]# umount /dev/sdb1
[root@localhost ~]# df -hT
文件系统              类型      容量  已用  可用 已用% 挂载点
/dev/mapper/rhel-root xfs        16G  3.0G   13G   20% /
devtmpfs              devtmpfs  977M     0  977M    0% /dev
tmpfs                 tmpfs     993M   88K  993M    1% /dev/shm
tmpfs                 tmpfs     993M  9.0M  984M    1% /run
tmpfs                 tmpfs     993M     0  993M    0% /sys/fs/cgroup
/dev/sda1             xfs       497M  148M  350M   30% /boot
tmpfs                 tmpfs     199M   12K  199M    1% /run/user/0
/dev/sr0              iso9660   3.6G  3.6G     0  100% /run/media/root/RHEL-7.3 Server.x86_64
[root@localhost ~]# 

 

 四:LVM(逻辑卷管理)

1:为什么会出现逻辑卷原因

因为基本的磁盘分区一但设置好了的话,一但磁盘的的空间满了之后,再想往里面写入数据,就不能写入了,所以磁盘的空间是是固定的,不能随意的改变,所以逻辑卷就应运而生,逻辑卷可以随意的扩大磁盘的空间,很方便扩容

2:LVM的概念

lvm就是管理磁盘和分区的一种管理机制,传统的磁盘分区机制,就是上层直接访问磁盘,而lvm就是将磁盘封装成一个逻辑层,上层访问的是这个逻辑层,提高了磁盘的灵活性,

3:LVM的术语

pv(物理卷 Physical Volume)

将磁盘变成物理卷,可以是一块磁盘,也可以是一个磁盘的分区

vg(卷组 Volumne Group)

就是建立在物理卷之上,一个物理卷上面有可以有多个卷组,设置好卷组后,可以动态的添加物理卷到卷组中

lv(逻辑卷 Logical Volume)

就是在卷组里面划分逻辑卷,卷组中的剩余空间可以划分逻辑卷

4:扩容的流程

就是先将一个磁盘变成物理卷,然后划分卷组,在卷组里面划分多个逻辑卷,如果逻辑卷的空间满了之后,逻辑卷不能从卷组里面拿空间,添加一个磁盘,将这个磁盘变成物理卷加入到卷组里面,这样卷组的空间就会增加,所以逻辑卷就能增加空间,就能继续往里面写入数据了

5:lvm的一些命令

1)pv的操作

pvcreate 创建物理卷 pvcreate /dev/sdb
pvscan 扫描物理卷(有几个物理卷) pvscan  
pvdisplay 显示物理卷的详细信息 pvdisplay /dev/sdb
pvremove 删除物理卷 pvremove /dev/sdb

2:vg的操作

vgscan  扫描卷组 vgscan 
vgcreate 创建卷组 vgcreate vg1 /dev/sdb
vgdisplay 显示卷组的详细信息 vgdisplay 卷组名
vgextend 扩展卷组的大小 就是将另外的一个物理卷添加到卷组中
vgreduce 缩小卷组的大小 就是将另外的一个物理卷移走
vgremove 删除卷组 vgremove vg1

3:lv的操作

lvscan 扫描逻辑卷 lvscan
lvdisplay 显示逻辑卷 lvdisplay  /dev/卷组/逻辑卷
lvcreate 创建逻辑卷 lvcreate -L 300M -n 逻辑卷名 卷组名
lvextend 扩展逻辑卷的大小 lvextend -L +200M /dev/卷组名/逻辑卷名
lvreduce 缩小逻辑卷的大小 lvreduce -L -300M  /dev/卷组名/逻辑卷名
lvremove 删除逻辑卷 lvremove /dev/vg/lv1

  

6:lvm的操作

1:逻辑卷的扩容

操作:

1:将磁盘变成物理卷

[root@localhost /]# pvcreate /dev/sdb
  Physical volume "/dev/sdb" successfully created.
[root@localhost /]# 

2:将物理卷变成卷组

[root@localhost /]# vgcreate vg1 /dev/sdb
  Volume group "vg1" successfully created
[root@localhost /]# 

3:在卷组里面划分逻辑卷

[root@localhost /]# lvcreate -L 300M -n lv1 /dev/vg1
  Logical volume "lv1" created.
[root@localhost /]# lvscan
  ACTIVE            '/dev/vg1/lv1' [300.00 MiB] inherit
  ACTIVE            '/dev/rhel/swap' [4.00 GiB] inherit
  ACTIVE            '/dev/rhel/root' [15.51 GiB] inherit
[root@localhost /]#  

4:逻辑卷的扩容

(不需要卸载文件系统)

思路:

现将另外的一个磁盘变成物理卷,然后加入到卷组中

[root@localhost /]# pvcreate /dev/sdb2
[root@localhost /]# vgextend vg1 /dev/sdb2
[root@localhost /]# lvextend -L +200M /dev/vg1/lv1 

5: 格式化

[root@localhost /]# mkfs -t ext4 /dev/vg1/lv1

6:挂载

[root@localhost /]# mount /dev/vg1/lv1 /mnt/
[root@localhost /]# df -hT
文件系统              类型      容量  已用  可用 已用% 挂载点
/dev/mapper/rhel-root xfs        16G  3.0G   13G   20% /
devtmpfs              devtmpfs  977M     0  977M    0% /dev
tmpfs                 tmpfs     993M  144K  993M    1% /dev/shm
tmpfs                 tmpfs     993M  8.9M  984M    1% /run
tmpfs                 tmpfs     993M     0  993M    0% /sys/fs/cgroup
/dev/sda1             xfs       497M  148M  350M   30% /boot
tmpfs                 tmpfs     199M   16K  199M    1% /run/user/0
/dev/sr0              iso9660   3.6G  3.6G     0  100% /run/media/root/RHEL-7.3 Server.x86_64
/dev/mapper/vg1-lv1   ext4      2.1G  6.6M  2.0G    1% /mnt

如果使用df -hT没有刷新磁盘的空间的话,就要使用resize2fs 逻辑卷的绝对路径--针对的是ext4文件系统

xfs的文件系统的话,使用xfs_grows 挂载点的路径

2:逻辑卷的缩容(需要卸载文件系统)

缩容有风险,所以要做好数据的备份

1)直接查看逻辑卷的大小pvs

[root@server /]# lvs
  LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root rhel -wi-ao---- 15.51g                                                    
  swap rhel -wi-ao----  4.00g                                                    
  lv1  vg1  -wi-a----- 10.00g                                                    
[root@server /]# 

2)缩容5G

[root@server /]# lvreduce -L -5G /dev/vg1/lv1 
  WARNING: Reducing active logical volume to 5.00 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/lv1? [y/n]: y
  Size of logical volume vg1/lv1 changed from 10.00 GiB (2560 extents) to 5.00 GiB (1280 extents).
  Logical volume vg1/lv1 successfully resized.

3)格式化和挂载

[root@server /]# mkfs -t ext4 /dev/vg1/lv1 
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done 

[root@server /]# mount /dev/vg1/lv1 /mailbox/

4)查看挂载点

[root@server /]# df -hT
Filesystem            Type      Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs        16G  3.1G   13G  20% /
devtmpfs              devtmpfs  977M     0  977M   0% /dev
tmpfs                 tmpfs     993M   88K  993M   1% /dev/shm
tmpfs                 tmpfs     993M  9.0M  984M   1% /run
tmpfs                 tmpfs     993M     0  993M   0% /sys/fs/cgroup
/dev/sda1             xfs       497M  148M  350M  30% /boot
tmpfs                 tmpfs     199M   12K  199M   1% /run/user/0
/dev/sr0              iso9660   3.6G  3.6G     0 100% /run/media/root/RHEL-7.3 Server.x86_64
/dev/mapper/vg1-lv1   ext4      4.8G   20M  4.6G   1% /mailbox

  

7:关于逻辑卷的扩容和缩容的总结

使用这些命令来查看

pvs和vgs和lvs这些命令能够查看逻辑卷的使用情况

就是缩容之后还要格式化一下,如果之前的是另外的一种文件系统(XFS),那就更加需要格式化一下了

ext4文件系统,可以扩容也可以缩容,使用resize2fs 来刷新一下文件系统

xfs文件系统,只能扩容,不能缩容,使用xfs_grows  /挂载点路径 来刷新一下 

 

五:交换分区的管理

1:交换分区的概念

就是当编辑一个文件时,出现了意外的终止,就会出现该文件的备份,也就是缓存文件,会影响到使用者编辑文件,就是一个备份的东西

2:管理交换分区的操作

1)创建交换分区(就是将其他的磁盘加入了这个交换分区)

mkswap /dev/磁盘名字

[root@localhost /]# mkswap /dev/sdb
正在设置交换空间版本 1,大小 = 5242876 KiB
无标签,UUID=7cc93681-d642-4edc-b72f-873d2c96e044
[root@localhost /]#  

但是,这个查看分区的内存还是那个原样的,因为没有开启交换分区,所以,需要开启交换分区

2)开启交换分区

[root@localhost /]# free -th
              total        used        free      shared  buff/cache   available
Mem:           1.9G        566M        963M         10M        453M        1.2G
Swap:          4.0G          0B        4.0G
Total:         5.9G        566M        4.9G
[root@localhost /]# swapon /dev/sdb
[root@localhost /]# free -th
              total        used        free      shared  buff/cache   available
Mem:           1.9G        570M        959M         10M        453M        1.2G
Swap:          9.0G          0B        9.0G
Total:          10G        570M        9.9G
[root@localhost /]#  

开启后,交换分区的总空间就增加了

3)关闭交换分区后,空间的大小就会恢复原样

[root@localhost /]# swapoff /dev/sdb 
[root@localhost /]# free -th
              total        used        free      shared  buff/cache   available
Mem:           1.9G        568M        962M         10M        453M        1.2G
Swap:          4.0G          0B        4.0G
Total:         5.9G        568M        4.9G
[root@localhost /]# 

4:查看交换分区的内容

[root@localhost /]# cat /proc/meminfo 
MemTotal:        2032156 kB
MemFree:          985572 kB
MemAvailable:    1236304 kB
Buffers:            1048 kB

  

 

posted @ 2023-09-14 22:10  q_7  阅读(49)  评论(0编辑  收藏  举报