第8章 磁盘管理

news2024/11/20 12:33:10

第8章 磁盘管理

8.1 标准磁盘管理

8.1.1 两种分区格式

  • MBR(Master Boot Record,主引导分区),支持 4 个主分区或者 3 个主分区 1 个扩展分区,分区的空间最大支持 2.2 TB。

  • GPT(GUID Partition Table,全局唯一标识分区表),最多可支持 128 个分区,且大小支持 2.2 TB 到 18 EB,并向后兼容 MBR。

8.1.2 查看磁盘信息

可以通过 lsblk 命令来查看磁盘信息。

 [root@bogon ~]# lsblk
 NAME                MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
 sr0                  11:0    1  8.9G  0 rom  /run/media/root/RHEL-9-2-0-BaseOS-x86_64
 nvme0n1             259:0    0   50G  0 disk 
 ├─nvme0n1p1         259:1    0    1G  0 part /boot
 └─nvme0n1p2         259:2    0   49G  0 part 
   ├─rhel_bogon-root 253:0    0   44G  0 lvm  /
   └─rhel_bogon-swap 253:1    0    5G  0 lvm  [SWAP]

接下来看为了演示后续的功能,我们添加一个 20G 的 Sata 类型的磁盘一个 30G 的 NVME 类型的磁盘。

注意:要添加磁盘,我们先关闭虚拟机。

[root@bogon ~]# systemctl poweroff

添加好上面的两个磁盘后,我们启动虚拟机,然后再查看磁盘信息:

[root@bogon ~]# lsblk
NAME                MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                   8:0    0   20G  0 disk
sr0                  11:0    1  8.9G  0 rom  
nvme0n1             259:0    0   50G  0 disk 
├─nvme0n1p1         259:1    0    1G  0 part /boot
└─nvme0n1p2         259:2    0   49G  0 part 
  ├─rhel_bogon-root 253:0    0   44G  0 lvm  /
  └─rhel_bogon-swap 253:1    0    5G  0 lvm  [SWAP]
nvme0n2             259:3    0   30G  0 disk 

上面的结果说明:

  • sda:表示第一块 Sata 硬盘,如果是第二块则名称为 sdb,第三块为 sdc,依次类推

  • sr0:表示第一块光盘,如果是 sr1 则表示第二块光盘

  • nvme0n1:表示第一块 nvme 类型的硬盘,nvme0n2 表示第二块 nvme 类型的硬盘,依次类推

  • nvme0n1p1:表示第一块 nvme 类型的硬盘的第一个分区,nvme0n1p2 表示第一块硬盘的第二个分区

8.1.3 磁盘分区

在使用磁盘之前,我们需要对磁盘进行分区并格式化后,才可以使用。而对磁盘进行分区,需要使用到 fdisk 命令工具,这个工具默认分区格式为 mbr 格式。使用的语法为:

fdisk 磁盘设备名(如/dev/sda)

8.1.3.1 MBR格式

首先我们对 Sata 磁盘进行分区,分为 3 主分区,1 个扩展分区,1 个逻辑分区。

[root@bogon ~]# fdisk /dev/sda 

Welcome to fdisk (util-linux 2.37.4).
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.
Created a new DOS disklabel with disk identifier 0xf0b8875a.

Command (m for help): 				# 提示按 m 键来查看帮助信息
# 输入 m 后

  Generic
   d   delete a partition					# 删除分区
   F   list free unpartitioned space		# 列出未分区的剩余空间,一般不用
   l   list known partition types			# 列出已有的分区类型
   n   add a new partition					# 添加一个新分区
   p   print the partition table			# 打印分区表
   t   change a partition type				# 修改分区类型
   v   verify the partition table			# 确认分区表,一般不用
   i   print information about a partition	# 打印分区信息,一般不用

  Misc
   m   print this menu						# 显示帮助信息
   u   change display/entry units
   x   extra functionality (experts only)

  Script
   I   load disk layout from sfdisk script file
   O   dump disk layout to sfdisk script file

  Save & Exit
   w   write table to disk and exit		# 保存分区表并退出
   q   quit without saving changes		# 退出且不保存分区

  Create a new label
   g   create a new empty GPT partition table			# 创建一个空的 GPT 分区表
   G   create a new empty SGI (IRIX) partition table	# 创建一个空的 SGI 分区表
   o   create a new empty DOS partition table			# 创建一个空的 DOS 分区表
   s   create a new empty Sun partition table			# 创建一个空的 Sun 分区表


Command (m for help): 

#---------- Sata 磁盘进行分区,分为 3 主分区,1 个扩展分区,1 个逻辑分区。------------------

Command (m for help): n		# 输入 n 后回来来创建一个新的分区表
Partition type
   p   primary (0 primary, 0 extended, 4 free)		# 输入 p 来创建主分区
   e   extended (container for logical partitions)	# 输入 e 来创建扩展分区
Select (default p): p			# 输入 p 或者直接回来来创建一个主分区
Partition number (1-4, default 1): 				# 输入 1 或者直接回来表示这是第一个主分区
First sector (2048-41943039, default 2048): 	# 直接回车,表示当前第 2048 个扇区开始分区
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-41943039, default 41943039): +2G	# 指定第一个分区大小为 2G

Created a new partition 1 of type 'Linux' and of size 2 GiB.

Command (m for help): 

# 创建第二个和第三个主分区则重复上面的操作。
Command (m for help): n   # 输入 n 后回车
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): 		# 直接回车来创建第二个主分区

Using default response p.
Partition number (2-4, default 2): 		# 直接回车
First sector (4196352-41943039, default 4196352): 			# 直接回车
Last sector, +/-sectors or +/-size{K,M,G,T,P} (4196352-41943039, default 41943039): +10G		# 指定大小为 10G

Created a new partition 2 of type 'Linux' and of size 10 GiB.

Command (m for help): n		# 创建第三个分区
Partition type
   p   primary (2 primary, 0 extended, 2 free)
   e   extended (container for logical partitions)
Select (default p): 

Using default response p.
Partition number (3,4, default 3): 
First sector (25167872-41943039, default 25167872): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (25167872-41943039, default 41943039): 		# 直接回车即使用所有剩余空间

Created a new partition 3 of type 'Linux' and of size 8 GiB.

Command (m for help): 


Command (m for help): w		# 分好后,输入 w 来保存分区表并退出
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

执行完上面操作后,我们再次来查看磁盘信息:

[root@bogon ~]# lsblk
NAME                MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                   8:0    0   20G  0 disk 
├─sda1                8:1    0    2G  0 part 		# 表示第一块 Sata 硬盘的第一个分区
├─sda2                8:2    0   10G  0 part 		# 表示第一块 Sata 硬盘的第二个分区
└─sda3                8:3    0    8G  0 part 		# 表示第一块 Sata 硬盘的第三个分区
sr0                  11:0    1  8.9G  0 rom  
nvme0n1             259:0    0   50G  0 disk 
├─nvme0n1p1         259:1    0    1G  0 part /boot
└─nvme0n1p2         259:2    0   49G  0 part 
  ├─rhel_bogon-root 253:0    0   44G  0 lvm  /
  └─rhel_bogon-swap 253:1    0    5G  0 lvm  [SWAP]
nvme0n2             259:3    0   30G  0 disk 

8.1.3.2 GPT格式

我们对磁盘一个 30G 的 NVME 类型的磁盘做 GPT 格式分区。

# /dev/nvme0n2 格式化为 gpt 格式,且包含 2 个分区

[root@bogon ~]# fdisk /dev/nvme0n2		# 对 nvme0n2 硬盘进行分区

Welcome to fdisk (util-linux 2.37.4).
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.
Created a new DOS disklabel with disk identifier 0x79c4832e.

Command (m for help): g			# 创建一个空的 gpt 分区表
Created a new GPT disklabel (GUID: 00922DA5-3E66-F644-B5EA-A92B796BD8F2).

Command (m for help): n				# 创建第一个分区
Partition number (1-128, default 1): 			# 直接回车
First sector (2048-62914526, default 2048): 	# 直接回车
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-62914526, default 62914526): +15G	# 指定第一个分区大小为 15G

Created a new partition 1 of type 'Linux filesystem' and of size 15 GiB.

Command (m for help): n		# 创建第二个分区
Partition number (2-128, default 2): 		# 直接回车
First sector (31459328-62914526, default 31459328): 	# 直接回车
Last sector, +/-sectors or +/-size{K,M,G,T,P} (31459328-62914526, default 62914526): 	# 直接回车

Created a new partition 2 of type 'Linux filesystem' and of size 15 GiB.

Command (m for help): w			# 保存分区表并退出
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

执行完上面的操作后, 我们再次查看磁盘信息:

[root@bogon ~]# lsblk
NAME                MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                   8:0    0   20G  0 disk 
├─sda1                8:1    0    2G  0 part 
├─sda2                8:2    0   10G  0 part 
└─sda3                8:3    0    8G  0 part 
sr0                  11:0    1  8.9G  0 rom  
nvme0n1             259:0    0   50G  0 disk 
├─nvme0n1p1         259:1    0    1G  0 part /boot
└─nvme0n1p2         259:2    0   49G  0 part 
  ├─rhel_bogon-root 253:0    0   44G  0 lvm  /
  └─rhel_bogon-swap 253:1    0    5G  0 lvm  [SWAP]
nvme0n2             259:3    0   30G  0 disk 
├─nvme0n2p1         259:6    0   15G  0 part 		# 第一个分区
└─nvme0n2p2         259:7    0   15G  0 part		# 第二个分区

8.1.4 分区格式化

对磁盘进行格式化的目的:是为了形成文件系统,文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构。

对于不同的操作系统,对磁盘进行格式化后所体现的文件系统类型不一样:

  • windowns:fat(这种格式不支持大于 4G 的文件)、NTFS(这是从 window7的默认格式)

  • linux:ext系统格式(ext3、ext4)、xfs

对磁盘分区格式化的命令为:

mkfs | mkfs.xfs | mkfs.ext4 [选项] 分区的设备名

选项:
	-t 文件系统类型,如果 ext4、xfs
	-c 建立文件系统前先检查坏块
	-V 输出建立的文件系统的详细信息

接下来我们对 /dev/sda1、/dev/sda2、/dev/sda3 进行格式化,我们把 /dev/sda1 格式化为 ext4,把另外两个格式化为 xfs。

[root@bogon ~]# mkfs.ext4 /dev/sda1
mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 524288 4k blocks and 131072 inodes
Filesystem UUID: 603c056b-0097-4999-87ee-9d34c09713fb
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912

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


[root@bogon ~]# mkfs -t xfs /dev/sda2
meta-data=/dev/sda2              isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0


[root@bogon ~]# mkfs.xfs /dev/sda3
meta-data=/dev/sda3              isize=512    agcount=4, agsize=524224 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1
data     =                       bsize=4096   blocks=2096896, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

我们格式化完成后,可以使用 blkid 命令来查看分区 id 号

[root@bogon ~]# blkid
/dev/mapper/rhel_bogon-swap: UUID="c40a1d4e-8acc-4aa6-af02-773c878f5588" TYPE="swap"
/dev/nvme0n1p1: UUID="98e55bfe-116c-411f-956c-d3e925b515c5" TYPE="xfs" PARTUUID="d366e00e-01"
/dev/nvme0n1p2: UUID="gklf44-wXFJ-G8dL-qAtd-eo50-onCK-5qz24M" TYPE="LVM2_member" PARTUUID="d366e00e-02"
/dev/sr0: UUID="2023-04-13-16-58-02-00" LABEL="RHEL-9-2-0-BaseOS-x86_64" TYPE="iso9660" PTUUID="d3d1f9a5" PTTYPE="dos"
/dev/nvme0n2p1: PARTUUID="dc85fe38-0242-dc40-a40c-7b43fc204293"
/dev/nvme0n2p2: PARTUUID="496fa0c0-e85c-9045-b06e-439bf9dfc79d"
/dev/mapper/rhel_bogon-root: UUID="a673e989-57a6-4257-be10-bb807f7153d7" TYPE="xfs"
/dev/sda2: UUID="e5f2e914-2b96-4bbe-b767-7083f15bc9f8" TYPE="xfs" PARTUUID="f0b8875a-02"
/dev/sda3: UUID="94a14f34-042d-4aeb-93d0-a085ab7d066f" TYPE="xfs" PARTUUID="f0b8875a-03"
/dev/sda1: UUID="603c056b-0097-4999-87ee-9d34c09713fb" TYPE="ext4" PARTUUID="f0b8875a-01"

8.1.5 分区挂载

挂载就是将一个分区或者设备挂载到指定的挂载目录。简单来说就是使用这个分区。

挂载的命令格式:

# mount [-t 文件系统类型] 设备名  挂载目录
mount [-t vfstype] [-o options] device  dir

1、-t vfstype:用于指定文件系统的类型,通常无须指定,mount 会自动选择正确的类型,有以下几种类型:
	iso9660:光盘或光盘镜像类型(记住)
	nfs:linux中文件网络共享
	
2、-o options:主要用于描述设备或档案的挂载方式
	ro:采用只读的方式进行挂载
	rw:采用读写的方式进行挂载
	loop:用来把一个文件当成硬盘分区挂载上系统
	
3、device:要挂载的设备
4、dir:设置在系统上的挂载点(目标),必须存在

接下来我们把 /dev/sda1 挂载到 /guazai 目录。注意挂载的目录必须存在。

# 创建挂载目录
[root@bogon ~]# mkdir -pv /guazai{1..3}
mkdir: created directory '/guazai1'
mkdir: created directory '/guazai2'
mkdir: created directory '/guazai3'

# 将 /dev/sda1 设备挂载到 /guazai1 目录
[root@bogon ~]# mount /dev/sda1 /guazai1
# 将 /dev/sda2 设备挂载到 /guazai2 目录
[root@bogon ~]# mount /dev/sda2 /guazai2
# 将 /dev/sda3 设备挂载到 /guazai3 目录
[root@bogon ~]# mount /dev/sda3 /guazai3

8.1.6 查看磁盘空间

查看磁盘空间的使用情况有两个命令:du、df

  • df:列出文件系统的磁盘空间占用情况,使用格式为:df [-ahikHTm] [目录或文件名称]

    [root@bogon guazai2]# df -h
    Filesystem                   Size  Used Avail Use% Mounted on
    devtmpfs                     4.0M     0  4.0M   0% /dev
    tmpfs                        3.8G     0  3.8G   0% /dev/shm
    tmpfs                        1.5G  9.6M  1.5G   1% /run
    /dev/mapper/rhel_bogon-root   44G  4.6G   40G  11% /
    /dev/nvme0n1p1              1014M  293M  722M  29% /boot
    tmpfs                        767M   56K  767M   1% /run/user/42
    tmpfs                        767M   40K  767M   1% /run/user/0
    /dev/sda1                    2.0G   28K  1.8G   1% /guazai1
    /dev/sda2                     10G  104M  9.9G   2% /guazai2
    /dev/sda3                    8.0G   90M  8.0G   2% /guazai3
  • du:显示磁盘空间的使用量,默认情况下是以 KB 为单位,使用格式为:du [-ahskm] 文件或目录

    [root@bogon guazai2]# du -h /dev/sda1
    0	/dev/sda1

8.2 逻辑卷管理

8.2.1 逻辑卷结构

在对磁盘进行分区大小规划时,往往不能合理的利用磁盘空间,这里我们可以使用逻辑卷(Logic Volume Manager)来进行管理。

逻辑卷由以下几个部分组成:

  • 物理设备,一般指的是系统存储设备,如:/dev/sda1、/dev/sda2等

  • 物理卷(physical volume, PV),它是由多个分区或整个硬盘组成

  • 卷组(Volume Group),简称 VG,它可以看成单独的逻辑磁盘,一个卷组中至少包括一个 PV,在卷组创建好后,可以动态添加 PV 到卷组中。

  • 逻辑卷(Logical Volume),简称 LV,相当于物理分区,它是建立在卷组之上。

8.2.2 部署逻辑卷

常用的 LVM 部署命令如下:

功能物理卷管理卷组管理逻辑卷管理
扫描pvscanvgscanlvscan
建立pvcreatevgcreatelvcreate
显示pvdisplayvgdisplaylvdisplay
删除pvremovevgremovelvremove

部署逻辑卷步骤:

1、首先我们先把之前挂载的信息删除(删除 /etc/fstab中挂载信息,umount卸载)

# 卸载的格式:umount 设备名称
[root@bogon /]# umount /dev/sda1
[root@bogon /]# umount /dev/sda2
[root@bogon /]# umount /dev/sda3

2、然后执行 fdisk 设备名称 来进行分区删除

# 首先删除 /dev/sda 设备的分区信息
[root@bogon /]# fdisk /dev/sda

Welcome to fdisk (util-linux 2.37.4).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): d
Partition number (1-3, default 3): 

Partition 3 has been deleted.

Command (m for help): d
Partition number (1,2, default 2): 

Partition 2 has been deleted.

Command (m for help): d
Selected partition 1
Partition 1 has been deleted.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

# 删除 /dev/nvme0n2设备的分区信息
[root@bogon /]# fdisk /dev/nvme0n2

Welcome to fdisk (util-linux 2.37.4).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): d
Partition number (1,2, default 2): 

Partition 2 has been deleted.

Command (m for help): d
Selected partition 1
Partition 1 has been deleted.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.


[root@bogon /]# lsblk
NAME                MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                   8:0    0   20G  0 disk 
sr0                  11:0    1  8.9G  0 rom  
nvme0n1             259:0    0   50G  0 disk 
├─nvme0n1p1         259:1    0    1G  0 part /boot
└─nvme0n1p2         259:2    0   49G  0 part 
  ├─rhel_bogon-root 253:0    0   44G  0 lvm  /
  └─rhel_bogon-swap 253:1    0    5G  0 lvm  [SWAP]
nvme0n2             259:3    0   30G  0 disk

3、最后用 /dev/sda 和 /dev/nvme0n2 来做逻辑卷

8.2.2.1 物理卷管理(PV)

# 创建物理卷的命令为 `pvcreate 要创建物理卷的设备或分区`

[root@bogon /]# pvcreate /dev/sda
  Physical volume "/dev/sda" successfully created.
[root@bogon /]# pvcreate /dev/nvme0n2 
  Cannot use /dev/nvme0n2: device is partitioned

# 查看 pv
[root@bogon /]# pvs
  PV             VG         Fmt  Attr PSize   PFree 
  /dev/nvme0n1p2 rhel_bogon lvm2 a--  <49.00g     0 
  /dev/sda                  lvm2 ---   20.00g 20.00g

# 如果希望查看详细的物理卷信息,我们使用 pvdisplay
[root@bogon /]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/nvme0n1p2
  VG Name               rhel_bogon
  PV Size               <49.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              12543
  Free PE               0
  Allocated PE          12543
  PV UUID               gklf44-wXFJ-G8dL-qAtd-eo50-onCK-5qz24M
   
  "/dev/sda" is a new physical volume of "20.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sda
  VG Name               
  PV Size               20.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               auPcsf-q5mU-bvuP-U6D0-FMwC-xRio-7Y7kV8

8.2.2.2 卷组管理(VG)

# 卷组创建的命令是:`vgcreage 物理卷名称`
[root@bogon /]# vgcreate vgtest /dev/sda

# 查看卷组信息
[root@bogon /]# vgs
  VG         #PV #LV #SN Attr   VSize   VFree  
  rhel_bogon   1   2   0 wz--n- <49.00g      0 
  vgtest       1   0   0 wz--n- <20.00g <20.00g
  
#如果希望查看详细信息,则需要使用 vgdisplay
[root@bogon /]# vgdisplay 
  --- Volume group ---
  VG Name               rhel_bogon
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <49.00 GiB
  PE Size               4.00 MiB
  Total PE              12543
  Alloc PE / Size       12543 / <49.00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               WaQIKz-ye0E-MaPw-jtra-a7rH-CyIK-FGZfHp
   
  --- Volume group ---
  VG Name               vgtest
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <20.00 GiB
  PE Size               4.00 MiB
  Total PE              5119
  Alloc PE / Size       0 / 0   
  Free  PE / Size       5119 / <20.00 GiB
  VG UUID               GKc8v2-FMAm-MMOY-eUQa-MwDA-z2a3-IIqKk8

8.2.2.3 逻辑卷管理(LV)

# 逻辑卷的创建命令为:lvcreate -n 逻辑卷名称 -L 逻辑卷大小 卷组名称

[root@bogon /]# lvcreate -n lvtest -L 10G vgtest
WARNING: ext4 signature detected on /dev/vgtest/lvtest at offset 1080. Wipe it? [y/n]: y
  Wiping ext4 signature on /dev/vgtest/lvtest.
  Logical volume "lvtest" created.


# 查看逻辑卷信息
[root@bogon /]# lvs
  LV     VG         Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root   rhel_bogon -wi-ao---- <44.00g                                                    
  swap   rhel_bogon -wi-ao----   5.00g                                                    
  lvtest vgtest     -wi-a-----  10.00g
  
# 如果希望查看 lvtest 的详细信息
[root@bogon /]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/rhel_bogon/swap
  LV Name                swap
  VG Name                rhel_bogon
  LV UUID                6B9VPA-sOSR-LqOA-lCP2-dNOo-DpMG-SaqdDU
  LV Write Access        read/write
  LV Creation host, time bogon, 2023-10-15 19:35:54 +0800
  LV Status              available
  # open                 2
  LV Size                5.00 GiB
  Current LE             1280
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/rhel_bogon/root
  LV Name                root
  VG Name                rhel_bogon
  LV UUID                aVkuFm-8Irw-PQ4a-qy07-R4Pv-LTFs-228OFd
  LV Write Access        read/write
  LV Creation host, time bogon, 2023-10-15 19:35:54 +0800
  LV Status              available
  # open                 1
  LV Size                <44.00 GiB
  Current LE             11263
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
   
  --- Logical volume ---
  LV Path                /dev/vgtest/lvtest
  LV Name                lvtest
  VG Name                vgtest
  LV UUID                XTBjin-FOC4-w6FQ-C52w-TxuT-ItzA-K78InY
  LV Write Access        read/write
  LV Creation host, time bogon, 2023-12-24 17:17:00 +0800
  LV Status              available
  # open                 0
  LV Size                10.00 GiB
  Current LE             2560
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

8.2.2.4 格式化逻辑卷

# 我们将 /dev/vgtest/lvtest 逻辑卷格式化为 xfs 类型的文件系统

[root@bogon /]# mkfs.xfs /dev/vgtest/lvtest
meta-data=/dev/vgtest/lvtest     isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

8.2.2.5 挂载逻辑卷

# 我们将格式化好的 /dev/vgtest/lvtest 逻辑卷挂载到 /mnt/mount1 目录上

# 查看目录是否存在
[root@bogon /]# ls -d /mnt/mount1
ls: cannot access '/mnt/mount1': No such file or directory
# 创建挂载点(即目标目录)
[root@bogon /]# mkdir -pv /mnt/mount1
mkdir: created directory '/mnt/mount1'

# 挂载
[root@bogon /]# mount /dev/vgtest/lvtest /mnt/mount1

# 验证是否挂载成功
[root@bogon /]# cp /etc/passwd /mnt/mount1
[root@bogon /]# cat /mnt/mount1/passwd | head -3
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

8.2.2.6 删除逻辑卷

# 查看
[root@bogon /]# df -h
Filesystem                   Size  Used Avail Use% Mounted on
devtmpfs                     4.0M     0  4.0M   0% /dev
tmpfs                        3.8G     0  3.8G   0% /dev/shm
tmpfs                        1.5G  9.6M  1.5G   1% /run
/dev/mapper/rhel_bogon-root   44G  4.6G   40G  11% /
/dev/nvme0n1p1              1014M  293M  722M  29% /boot
tmpfs                        767M   56K  767M   1% /run/user/42
tmpfs                        767M   40K  767M   1% /run/user/0
/dev/mapper/vgtest-lvtest     10G  104M  9.9G   2% /mnt/mount1

# 卸载
[root@bogon /]# umount /dev/mapper/vgtest-lvtest	# umount 设备  或者  umount 挂载点(目标)

# 验证是否卸载成功
[root@bogon /]# df -h
Filesystem                   Size  Used Avail Use% Mounted on
devtmpfs                     4.0M     0  4.0M   0% /dev
tmpfs                        3.8G     0  3.8G   0% /dev/shm
tmpfs                        1.5G  9.6M  1.5G   1% /run
/dev/mapper/rhel_bogon-root   44G  4.6G   40G  11% /
/dev/nvme0n1p1              1014M  293M  722M  29% /boot
tmpfs                        767M   56K  767M   1% /run/user/42
tmpfs                        767M   40K  767M   1% /run/user/0


# 删除逻辑卷,命令的格式为:lvremove 逻辑卷路径
[root@bogon /]# lvremove /dev/vgtest/lvtest 
Do you really want to remove active logical volume vgtest/lvtest? [y/n]: y			# 输入 y 来确认删除
  Logical volume "lvtest" successfully removed.


# 删除卷组,命令的格式为:vgremove 卷组名称
[root@bogon /]# vgremove vgtest
  Volume group "vgtest" successfully removed


# 删除物理卷
[root@bogon /]# pvremove /dev/sda
  Labels on physical volume "/dev/sda" successfully wiped.

8.3 交换分区管理

在 Linux 执行某个程序时,会把这个程序加载到内存在中,以便于快速的执行。

在这个过程中,并不是所有的程序都是常用的,将常用的加载到内存在,而将不常用的功能放到 swap (交换空间),而这个交换空间就是硬盘划分出来的一小块区域。这个区域的大小可以是物理内存的 2~4 倍,一般我们指定为 2G 即可。因为此部分基本不会用到。

交换分区管理也有相应的命令:

  • mkswap 分区设备名:将指定的分区格式化为 swap 交换文件系统(交换分区)

  • swapon 交换分区设备名:启用指定的交换分区

  • swapoff 交换分区设备名:禁用指定的交换分区

  • swapon -s:查看交换分区的使用情况

  • free -m:以兆字节为单位显示物理内存、交换分区的使用情况

[root@bogon /]# swapon -s
Filename				Type		Size		Used		Priority
/dev/dm-1                               partition	5242876		0		-2


[root@bogon /]# free -m
               total        used        free      shared  buff/cache   available
Mem:            7661         998        6300          15         618        6662
Swap:           5119           0        5119

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1427915.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IS-ISv6配置

正文共&#xff1a;1024 字 12 图&#xff0c;预估阅读时间&#xff1a;1 分钟 上篇文章中&#xff08;OSPFv6配置&#xff09;&#xff0c;我们介绍了OSPFv3的基本配置方式&#xff0c;文中提到&#xff0c;OSPFv3是基于链路运行的&#xff0c;和IS-IS协议比较像。那既然和IS-…

中二少年工具箱(PC端)简介

同学们可以私信我加入学习群&#xff01; 正文开始 简介一、功能模块1.node版本管理工具 总结 简介 中二少年开发的中二少年工具箱&#xff0c;相信博主&#xff0c;功能不孬。 辅助自己开发工作&#xff0c;帮助新人快速入门&#xff0c;提供交互式文档辅助学习……如果还不…

⑩电子产品拆解分析-家用无线遥控开关433Mhz

⑩电子产品拆解分析-家用无线遥控开关433Mhz 一、功能介绍二、电路分析以及器件作用1、433发射控制端2、433接收应答端三、Get到的点一、功能介绍 ①免布线随意贴,装上就能使用解决单线开关烦恼;②遥控配对简单,无线通讯距离长,信号可穿墙;二、电路分析以及器件作用 1、43…

Spring Bean 定义常见错误

Spring 的核心是围绕 Bean 进行的。不管是 Spring Boot 还是 Spring Cloud&#xff0c;只要名称中带有 Spring 关键字的技术都脱离不了 Bean&#xff0c;而要使用一个 Bean 少不了要先定义出来&#xff0c;所以定义一个 Bean 就变得格外重要了。 当然&#xff0c;对于这么重要…

Node.js 目录穿越漏洞(CVE-2017-14849)

文章目录 Node.js 目录穿越漏洞&#xff08;CVE-2017-14849&#xff09;1. 漏洞原理2. 漏洞复现3. 漏洞验证4. 漏洞分析 Node.js 目录穿越漏洞&#xff08;CVE-2017-14849&#xff09; 1. 漏洞原理 原因是 Node.js 8.5.0 对目录进行normalize操作时出现了逻辑错误&#xff0c…

01- k8s基础网络知识 之 underlay与overlay网络

前言&#xff1a; 我们在学习k8s网络之前&#xff0c;必须要了解k8s网络相关的一些基础知识&#xff0c;比如什么是underlay网络、overlay网络等&#xff0c;只有把基础知识掌握之后&#xff0c;后续学习k8s网络的时候&#xff0c;一些知识点就不会再云里雾里了。 1 underlay与…

架构整洁之道-组件构建原则

5 组件构建原则 大型软件系统的架构过程与建筑物修建很类似&#xff0c;都是由一个个小组件组成的。所以&#xff0c;如果说SOLID原则是用于指导我们如何将砖块砌成墙与房间的&#xff0c;那么组件构建原则就是用来指导我们如何将这些房间组合成房子的。 5.1 组件 组件是软件的…

IntelliJ创建一个springboot工程

安装jdk mac教程 windows教程 安装maven mac教程 windows教程 建议&#xff1a; 在本地磁盘新建一个文件夹叫maven&#xff0c;然后把下载的maven安装到这里。在后续的IntelliJ操作中&#xff0c;配置maven的settings.xml和repository地址为这个目录下的地址。 创建sprin…

stack和queue及优先级队列和适配器(包括deque)的介绍

stack stack的介绍 stack是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除只能从容器的一端进行元素的插入与提取操作。stack是作为容器适配器被实现的&#xff0c;容器适配器即是对特定类封装作为其底层的容器&#xff0c;并提供一组…

【INTEL(ALTERA)】为什么 F-tile Serial Lite IV FPGA IP 设计示例会失败

说明 由于Intel Agilex 7 FPGA I 系列收发器-SoC 开发套件的时钟控制器 GUI 存在问题&#xff0c;当您需要配置芯片 Si5332 的 OUT1 时钟频率时&#xff0c;您可能会发现 F-tile Serial Lite IV 英特尔 FPGA IP设计示例失败。这是因为此 Si5332 GUI 存在问题;无法准确配置 OUT…

【算法】约数之和(数论)

题目 给定 n 个正整数 ai&#xff0c;请你输出这些数的乘积的约数之和&#xff0c;答案对 1097 取模。 输入格式 第一行包含整数 n。 接下来 n 行&#xff0c;每行包含一个整数 ai。 输出格式 输出一个整数&#xff0c;表示所给正整数的乘积的约数之和&#xff0c;答案需…

CentOS 8最小安装和网络配置

文章目录 简介下载地址VMware 17创建虚拟机最小化安装拥有的外部命令yum源有问题网络配置开启SSH Server服务关闭防火墙(目前这个地方还是有问题-加上端口依然不能访问)设置host配置JDK环境完整参考 简介 CentOS 8的IOS如果下载DVD版本至少有10G 这里我们直接选择最小安装&…

当Meta转向AI并宣布为投资者分红时,其收入激增

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

算法day9

算法day9 栈与队列基础232用栈实现队列225用队列实现栈 栈与队列理论基础 言简意赅&#xff1a;栈的原理就是后进先出。队列就是先进先出。 相关操作&#xff1a; 栈&#xff1a;入栈&#xff0c;出栈&#xff0c;判栈空&#xff0c;取栈顶元素。 队列&#xff1a;出队&#…

Linux第41步_移植ST公司uboot的第2步_修改网络驱动_USB OTG设备树_LCD驱动_以及编译和烧写测试

移植ST公司uboot的第1步&#xff0c;创建配置文件、设备树、修改电源管理和sdmmc节点后&#xff0c;还需要进一部修改&#xff0c;如&#xff1a;网络驱动、USB OTG设备树、LCD驱动&#xff0c;以及编译和烧写测试。 一、在虚拟机中&#xff0c;使用VSCode打开my_uboot工作区 …

1E,Jarvis March

四个问题&#xff1a; 一&#xff0c;Jarvis March算法借鉴了什么算法&#xff1f; 二&#xff0c;如何确定初始点 三&#xff0c;如何获取凸包的边&#xff1f; 四&#xff0c;Jarvis March算法的好处在哪里&#xff1f; 首先看第一个问题&#xff0c; 一&#xff0c;Jarvis …

Springboot 自定义参数配置化,密钥,密码,文件保存路径

application.properties 和 application.yml 都是一样的配置方法&#xff0c;只是格式不一样 定义配置文件 server.port8080 image.save.pathE:\ #自定义文件保存路径读取配置文件 Value("${image.save.path}")private String filePath;//E:\优化配置文件 如果我参…

算法——A/算法通识

目录 一、复杂度分析 A/时间复杂度 B/空间复杂度 C/分析技巧 二、枚举分析 A/枚举算法介绍 B/解空间的类型 C/循环枚举解空间 三、模拟算法 四、递归 A/递归介绍 递归的两个关键要素&#xff1a; B/递归如何实现 C/递归和循环的比较 一、复杂度分析 A/时间复杂度…

Unknown custom element:<xxx>-did you register the component correctly解决方案

如图所示控制台发现了爆红&#xff08;大哭&#xff09;&#xff1a; 报错解释&#xff1a; 当我们看到报错时&#xff0c;我们需要看到一些关键词&#xff0c;比如显眼的“component”和“name”这两个单词&#xff0c; 因此我们就从此处切入&#xff0c;大概与组件有关系。…

Transition内置组件设置无效的原因

1. 包裹的组件是否有显示隐藏状态的切换&#xff0c;或者是绑定的key值是否发生改变 由 v-if 所触发的切换由 v-show 所触发的切换由特殊元素<component> 切换的动态组件改变特殊的key属性 2. 要放在发生变化的组件外层&#xff0c;如果中间有其他元素或组件会不生效 …