文章目录
关键命令fdisk
命令的格式如下:
[root@localhost ~]# fdisk ~l
#列出系统分区
[root@localhost ~]# fdisk 设备文件名
#给硬盘分区
fdisk -l 查看磁盘使用情况
[root@ceshi ~]# fdisk -l
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
磁盘 /dev/sda:2400.5 GB, 2400476553216 字节,4688430768 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:gpt
Disk identifier: F618890B-5621-4662-9FED-CF1078F4EFD4
# Start End Size Type Name
1 2048 8390655 4G EFI System EFI System Partition
2 8390656 427821055 200G Microsoft basic
3 427821056 499124223 34G Linux swap
4 499124224 551553023 25G Microsoft basic
5 551553024 583010303 15G Microsoft basic
6 583010304 603981823 10G Microsoft basic
7 603981824 624953343 10G Microsoft basic
8 624953344 645924863 10G Microsoft basic
9 645924864 666896383 10G Microsoft basic
10 666896384 675284991 4G Microsoft basic
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
磁盘 /dev/sdb:2400.5 GB, 2400476553216 字节,4688430768 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:gpt
Disk identifier: 7D0C43E6-BFD0-4CD0-B8DF-F6EB5B62F3AE
# Start End Size Type Name
1 2048 4688429055 2.2T Microsoft basic
fdisk 设备文件名
说 明
a 设置可引导标记
b 编辑 bsd 磁盘标签
c 设置 DOS 操作系统兼容标记
d 删除一个分区
1 显示已知的文件系统类型。82 为 Linux swap 分区,83 为 Linux 分区
m 显示帮助菜单
n 新建分区
0 建立空白 DOS 分区表
P 显示分区列表
q 不保存退出
s 新建空白 SUN 磁盘标签
t 改变一个分区的系统 ID
u 改变显示记录单位
V 验证分区表
w 保存退出
X 附加功能(仅专家)
基本知识
LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volume group),形成一个存储池。
管理员可以在卷组上随意创建逻辑卷组(logical volumes),并进一步在逻辑卷组上创建文件系统。
管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。
而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。
PV(Physical volume)
指代磁盘上的物理分区,如dev目录下的sda1,sda2,sdb1等
VG(Volume group )
VG类似与物理硬盘,由多个物理分区组成,可以在VG上创建一个或者多个逻辑卷(LV)
LV(Logical volume)
在VG的基础上划分出来的逻辑分区,在这个分区上可以建立文件系统
lsblk命令
lsblk命令用于列出所有可用的块设备信息,并显示他们之间的依赖关系。lsblk命令默认情况下将以树状列出所有块设备,
[root@测试 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 2.2T 0 disk
├─sda1 8:1 0 4G 0 part /boot/efi
├─sda2 8:2 0 200G 0 part /home/ceshi1
├─sda3 8:3 0 34G 0 part [SWAP]
├─sda4 8:4 0 25G 0 part /usr
├─sda5 8:5 0 15G 0 part /usr/local
├─sda6 8:6 0 10G 0 part /app
├─sda7 8:7 0 10G 0 part /opt
├─sda8 8:8 0 10G 0 part /tmp
├─sda9 8:9 0 10G 0 part /var
└─sda10 8:10 0 4G 0 part /
sdb 8:16 0 2.2T 0 disk
└─sdb1 8:17 0 2.2T 0 part /home/ceshi2
说明:
- NAME:这是块设 备名;
- MAJ:MIN:此项显示主要和次要设备号;
- RM:此项显示设备是否可移动设备。RM值等于1,这说明他是可移动设备;
- SIZE:此项列出设备的容量大小信息,20G表明该设备大小为20GB;
- RO:该项表明设备是否为只读。RO值为0,表明他们不是只读的;
- TYPE:该项显示块设备是否是磁盘或磁盘上的一个分区
- MOUNTPOINT:本项指出设备挂载的挂载点
其他参数
-a, --all 显示所有设备
-b, --bytes 以bytes方式显示设备大小
-f, --fs 显示文件系统信息,可以显示磁盘物理分区的UUID,自动挂载配置文件默认使用的就是uuid
-m, --perms 显示权限信息。
-s是逆序选项(将设备和分区的组织关系逆转过来显示)
-d, --nodeps 不显示 slaves 或 holders。
-D, --discard print discard capabilities。
-e, --exclude 排除设备 (default: RAM disks)。
-h, --help 显示帮助信息。
-i, --ascii use ascii characters only。
-l, --list 使用列表格式显示。
-n, --noheadings 不显示标题。
-o, --output 输出列。
-P, --pairs 使用key="value"格式显示。
-r, --raw 使用原始格式显示。
-t, --topology 显示拓扑结构信息。
df 命令
df命令是用来查看linux系统服务器文件系统的磁盘使用情况。可以用该命令来查看已经使用了多少空间,还有多少空间可用。
-a:–all,显示所有的文件系统,包括虚拟文件系统
-B:–block-size,指定单位大小。比如1k,1m等
-h:–human-readable,以人们易读的GB、MB、KB等格式显示
-H:–si,和-h参数一样,但是不是以1024,而是1000,即1k=1000,而不是1k=1024
-i:–inodes,不用硬盘容量,而是以inode的数量来显示
-k:以KB的容量显示各文件系统,相当于–block-size=1k
-m:以KB的容量显示各文件系统,相当于–block-size=1m
-l:–local,只显示本地文件系统
–no-sync:在统计使用信息之前不调用sync命令(默认)
-sync:在统计使用信息之前调用sync命令
-P:–portability,使用POSIX格式显示
-t:–type=TYPE,只显示指定类型的文件系统
-T:–print-type,显示文件系统类型
-x:–exclude-type=TYPE,不显示指定类型的文件系统。
–help:显示帮助信息。
–version:显示版本信息
[root@ceshi ~]# df -lh
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 850M 15G 6% /dev/shm
tmpfs 16G 14M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/sda10 4.0G 213M 3.8G 6% /
/dev/sda4 25G 7.4G 18G 30% /usr
/dev/sda1 4.0G 12M 4.0G 1% /boot/efi
/dev/sdb1 2.2T 17G 2.2T 1% /home/ceshi2
/dev/sda7 10G 34M 10G 1% /opt
/dev/sda8 10G 36M 10G 1% /tmp
/dev/sda5 15G 1.4G 14G 9% /usr/local
/dev/sda6 10G 33M 10G 1% /app
/dev/sda9 10G 314M 9.7G 4% /var
/dev/sda2 200G 1.6G 199G 1% /home/ceshi1
tmpfs 3.1G 36K 3.1G 1% /run/user/1001
tmpfs 3.1G 48K 3.1G 1% /run/user/0
实操
实操sda磁盘有大量的空间没用,/home/ceshi2挂载了一个分区sdb1,sdb磁盘只有一个分区sdb1.现将sda剩下空间与sdb一起挂载到目标目录/home/ceshi2,测试环境为centos7.9
将sda磁盘剩下的空间分区为sda11
[root@ceshi ~]# fdisk /dev/sda
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):p
磁盘 /dev/sda:2400.5 GB, 2400476553216 字节,4688430768 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:gpt
Disk identifier: F618890B-5621-4662-9FED-CF1078F4EFD4
# Start End Size Type Name
1 2048 8390655 4G EFI System EFI System Partition
2 8390656 427821055 200G Microsoft basic
3 427821056 499124223 34G Linux swap
4 499124224 551553023 25G Microsoft basic
5 551553024 583010303 15G Microsoft basic
6 583010304 603981823 10G Microsoft basic
7 603981824 624953343 10G Microsoft basic
8 624953344 645924863 10G Microsoft basic
9 645924864 666896383 10G Microsoft basic
10 666896384 675284991 4G Microsoft basic
命令(输入 m 获取帮助):n
分区号 (11-128,默认 11):11
第一个扇区 (34-4688430734,默认 675284992):
Last sector, +sectors or +size{K,M,G,T,P} (675284992-4688430734,默认 4688430734):
已创建分区 11
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
[root@ceshi ~]# partprobe
[root@ceshi ~]# mkfs -t xfs /dev/sda11
备份sdb1分区
xfsdump -f /home/ceshi1/sdb1.bak /dev/sdb1
取消sdb1的挂载
umount /home/ceshi2
umount时,可能会报目标忙,原因是是设备被一些程序占用,找到对应程序的pid,kill杀死。再执行umount命令
fuser -mv /home/ceshi2/
kill -9 pid
修改物理分区类型为8e,
作为PV的物理分区类型必须为8e,表示这是一块lvm的物理分区。
[root@ceshi ~]# fdisk /dev/sda
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):t
分区号 (1-11,默认 11):11
分区类型(输入 L 列出所有类型):8e
分区 11 的类型未更改:Linux filesystem
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
[root@ceshi ~]# fdisk /dev/sdb
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):t
已选择分区 1
分区类型(输入 L 列出所有类型):8e
分区 1 的类型未更改:Microsoft basic data
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
创建物理卷
[root@ceshi ~]# pvcreate /dev/sda11
WARNING: xfs signature detected on /dev/sda11 at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/sda11.
Physical volume "/dev/sda11" successfully created.
[root@ceshi ~]# pvcreate /dev/sdb1
WARNING: xfs signature detected on /dev/sdb1 at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/sdb1.
Physical volume "/dev/sdb1" successfully created.
以sda11为基础创建卷组
[root@ceshi ~]# vgcreate lvm_sda /dev/sda11
Volume group "lvm_sda" successfully created
将/dev/sdb1添加进lvm_sda卷组
[root@ceshi ~]# vgextend lvm_sda /dev/sdb1
Volume group "lvm_sda" successfully extended
创建逻辑卷
[root@ceshi ~]# lvcreate -L 3500G lvm_sda -n lvolhome
Logical volume "lvolhome" created.
创建文件系统
[root@ceshi ~]# mkfs.xfs /dev/lvm_sda/lvolhome
meta-data=/dev/lvm_sda/lvolhome isize=512 agcount=4, agsize=229376000 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=917504000, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=448000, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
将其挂载到/home/ceshi2
[root@ceshi ~]# mount /dev/lvm_sda/lvolhome /home/ceshi2/
还原sdb1的备份
[root@ceshi ~]# xfsrestore -f /home/ceshi1/sdb1.bak /home/ceshi2/
xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.7 (dump format 3.0) - type ^C for status and control
xfsrestore: searching media for dump
xfsrestore: examining media file 0
xfsrestore: dump description:
xfsrestore: hostname: ceshi
xfsrestore: mount point: /home/ceshi2
xfsrestore: volume: /dev/sdb1
xfsrestore: session time: Fri Nov 4 10:06:25 2022
xfsrestore: level: 0
xfsrestore: session label: "sdb_dump_1"
xfsrestore: media label: "sdb1"
xfsrestore: file system id: 555cef3a-3953-4395-a1e6-8e7a7bcc59e0
xfsrestore: session id: 9bac85db-3b9d-481a-b42f-25544beeaa4d
xfsrestore: media id: f3830394-13bb-45d7-b9b8-5565942c3504
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
xfsrestore: 4138 directories and 43229 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: 79 seconds elapsed
xfsrestore: Restore Summary:
xfsrestore: stream 0 /home/ceshi1/sdb1.bak OK (success)
xfsrestore: Restore Status: SUCCESS
设置开机挂载逻辑卷,将原来挂载/home/ceshi2的语句替换掉
[root@ceshi ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed Oct 26 00:00:07 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/lvm_sda/lvolhome /home/ceshi2/ xfs defaults 0 0