linux磁盘管理

关键命令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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值