linux磁盘挂载,硬盘空间合并
一、磁盘挂载
#查看当前已挂载空间
df -lh
#查看当前磁盘分配信息
fdisk -l
#如果当前有未挂载空间则对磁盘进行挂载
#1、此处用sdd举例
fdisk /dev/sdd
输入n,新建分区
n
输入p,建立主分区
p
剩余项直接回车,自动选择默认值。默认id是1
输入w,保存
w
重新加载分区
sudo partprobe
2、格式化分区为XFS,注意:该步骤需要等待系统格式化完成,不要ctrl+c
mkfs.xfs -f /dev/sdd1
3、挂载格式化好的XFS分区,这里假设挂载到/bigdata目录下
mount /dev/sdd1 /bigdata
4、验证XFS分区是否挂载成功
df -lh
5、设置系统启动时自动挂载
vi /etc/fstab
#添加
/dev/sdd1 /bigdata xfs defaults 0 0
二、合并硬盘空间并挂载
基本的逻辑卷管理概念:
PV(Physical Volume)- 物理卷
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。
VG(Volumne Group)- 卷组
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。
LV(Logical Volume)- 逻辑卷
逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。
先将空余硬盘新建分区
这里用sdb,sdc, sdd举例
1、先将三块硬盘空间建立分区
fdisk /dev/sdb
fdisk /dev/sdc
fdisk /dev/sdd
都选择默认id
2、创建PV
pvcreate /dev/sdb1
pvcreate /dev/sdc1
pvcreate /dev/sdd1
3、查看PV
pvdisplay
4、创建一个名为hjhx的VG
vgcreate hjhx /dev/sdb1 /dev/sdc1 /dev/sdd1
5、查看vg
vgdisplay
6、创建LV
lvcreate -L 5T hjhx
说明:从hjhx 中分出5G的空间给LV,lv名称系统会自动生成
7、增加lv空间容量
lvextend -L +1023G /dev/hjhx/lvol0
说明:lvol0是上述创建lv时自动生成的名称
8、对lv重命名
lvrename hjhx lvol0 hjhx
9、格式化分区为XFS,注意:该步骤需要等待系统格式化完成,不要ctrl+c
mkfs.xfs -f /dev/hjhx/hjhx
10、挂载格式化好的XFS分区,这里假设挂载到/bigdata目录下
mount /dev/hjhx/hjhx /bigdata
11、验证XFS分区是否挂载成功
df -lh
12、设置系统启动时自动挂载
vi /etc/fstab
#添加
/dev/hjhx/hjhx /bigdata xfs defaults 0 0
三、逻辑卷扩容
1、扩展/var节点容量
# 主要对磁盘/dev/xvdb进行分区
# m:获取帮助信息
# n:添加一个新分区
# p:分区类型为主分区。(e为扩展分区。一般是选择主分区,且一个磁盘最多只能有创建四个主分区。扩展分区可以没有,最多一个)
# 选择起始扇区:直接回车,默认为从起始扇区开始
# 选择结束扇区:可以填扇区值,也可以填扇区大小,这里填写+42GB,表示创建一个42GB的分区。结束扇区的值 = 起始扇区值+分区字节大小/每个扇区大小
# 也可以填写结束的扇区值,例如扩展42GB,结束扇区的值=2048+42*1024*1024*1024/512=88082432
# 直接回车,则为全部扇区都分给此分区
# t:改变一个分区系统的id。如果只有一个分区,默认会选择这个分区,如果有多个会提示选择要操作的分区号(1-4)
# L:列出所有代码
# 8e:设置分区类型为 Linux LVM
# w:保存并退出。上面的操作会暂存在内存,需要保存后才会生效。如果还要继续设置其它新分区,可以继续创建新分区完毕后再统一保存退出。
#
[root@cdh1 ~]# fdisk /dev/xvdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xc121d7db 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):m
命令操作
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition‘s system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-964689919,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-964689919,默认为 964689919):+42G
分区 1 已设置为 Linux 类型,大小设为 42 GiB
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):L
0 空 24 NEC DOS 81 Minix / 旧 Linu bf Solaris
1 FAT12 27 隐藏的 NTFS Win 82 Linux 交换 / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 OS/2 隐藏的 C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux 扩展 c7 Syrinx
5 扩展 41 PPC PReP Boot 86 NTFS 卷集 da 非文件系统数据
6 FAT16 42 SFS 87 NTFS 卷集 db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux 纯文本 de Dell 工具
8 AIX 4e QNX4.x 第2部分 8e Linux LVM df BootIt
9 AIX 可启动 4f QNX4.x 第3部分 93 Amoeba e1 DOS 访问
a OS/2 启动管理器 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad 休 eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT
f W95 扩展 (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC
11 隐藏的 FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor
12 Compaq 诊断 5c Priam Edisk a9 NetBSD f4 SpeedStor
14 隐藏的 FAT16 <3 61 SpeedStor ab Darwin 启动 f2 DOS 次要
16 隐藏的 FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS
17 隐藏的 HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST 智能睡眠 65 Novell Netware b8 BSDI swap fd Linux raid 自动
1b 隐藏的 W95 FAT3 70 DiskSecure 多启 bb Boot Wizard 隐 fe LANstep
1c 隐藏的 W95 FAT3 75 PC/IX be Solaris 启动 ff BBT
1e 隐藏的 W95 FAT1 80 旧 Minix
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 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@cdh1 ~]# reboot
Connection to xx.xxx.x.xx closed by remote host.
Connection to xx.xxx.x.xx closed.
# 再次查看磁盘信息,可以和前面的对比,很明显多了一行。这个就是我们新创建的一个分区,/dev/xvdb1需要记下
# /dev/xvdb1 2048 88082431 44040192 8e Linux LVM
[root@cdh1 ~]# fdisk -l
磁盘 /dev/xvdb:493.9 GB, 493921239040 字节,964689920 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc121d7db
设备 Boot Start End Blocks Id System
/dev/xvdb1 2048 88082431 44040192 8e Linux LVM
磁盘 /dev/xvda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0003755b
设备 Boot Start End Blocks Id System
/dev/xvda1 * 2048 1026047 512000 83 Linux
/dev/xvda2 1026048 3131391 1052672 8e Linux LVM
/dev/xvda3 3131392 83886079 40377344 8e Linux LVM
…… ……
# 查看卷组名称及大小,需要记下 VG Name。例如这里的是 VolGroup,后面会用到这个卷组名
[root@cdh1 ~]# vgdisplay
--- Volume group ---
VG Name VolGroup
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size 38.50 GiB
PE Size 4.00 MiB
Total PE 9857
Alloc PE / Size 9857 / 38.50 GiB
Free PE / Size 0 / 0
VG UUID faVyy5-8PQq-MN9X-RraY-LOgj-g9Iq-KQrMsg
……
# 创建卷。 从前面我们已经创建了一个新的分区:/dev/xvdb1
# 执行时如果报: Device /dev/xvdb2 not found.。此时需要重启系统:reboot
[root@cdh1 ~]# pvcreate /dev/xvdb1
Physical volume "/dev/xvdb1" successfully created.
# 扩展卷组 VolGroup
[root@cdh1 ~]# vgextend VolGroup /dev/xvdb1
Volume group "VolGroup" successfully extended
# 查看物理卷。注意看PV Name为/dev/xvdb1的信息,42GB已经创建出来
[root@cdh1 ~]# pvdisplay
--- Physical volume ---
PV Name /dev/xvda3
VG Name VolGroup
PV Size <38.51 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 9857
Free PE 0
Allocated PE 9857
PV UUID uQLUzq-WiZg-YdPp-KNq1-cVdw-aTBc-ey3YWy
--- Physical volume ---
PV Name /dev/xvdb1
VG Name VolGroup
PV Size 42.00 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 10751
Free PE 10751
Allocated PE 0
PV UUID JagRJV-FXfW-BcWx-vweZ-kPQz-7goT-COX2MH
……
# 从前面(df -hl)我们可以看到/var对应的是/dev/mapper/VolGroup-var
# 查看当前逻辑卷的名称及空间大小。
[root@cdh1 ~]# lvdisplay
--- Logical volume ---
LV Path /dev/VolGroup/root
LV Name root
VG Name VolGroup
LV UUID 2f6zN4-wlsI-6JKt-9B5d-fDDm-cudJ-gus6RB
LV Write Access read/write
LV Creation host, time localhost, 2018-03-29 10:32:45 +0800
LV Status available
# open 1
LV Size <24.51 GiB
Current LE 6274
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
--- Logical volume ---
LV Path /dev/VolGroup/var
LV Name var
VG Name VolGroup
LV UUID Dzr2iB-N6f3-Edv0-bXOj-OTDI-pibv-jCTuCY
LV Write Access read/write
LV Creation host, time localhost, 2018-03-29 10:32:46 +0800
LV Status available
# open 1
LV Size 8.00 GiB
Current LE 2048
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
--- Logical volume ---
……
--- Logical volume ---
……
# 扩展分区。var的逻辑卷为/dev/VolGroup/var,直接将42GB的分区扩展到var
[root@cdh1 ~]# lvextend /dev/VolGroup/var /dev/xvdb1
Size of logical volume VolGroup/var changed from 8.00 GiB (2048 extents) to <50.00 GiB (12799 extents).
Logical volume VolGroup/var successfully resized.
# 调整文件系统大小
# 这个命令如法执行,执行下面的就行
#[root@cdh1 ~]# resize2fs -f /dev/VolGroup/var
#resize2fs 1.42.9 (28-Dec-2013)
#resize2fs: Bad magic number in super-block 当尝试打开 /dev/VolGroup/var 时找不到有效的文件系统超级块.
[root@cdh1 ~]# xfs_growfs /dev/VolGroup/var
meta-data=/dev/mapper/VolGroup-var isize=512 agcount=4, agsize=524288 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=2097152, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 2097152 to 13106176
您在 /var/spool/mail/root 中有新邮件
# 查看分区。可以看到/dev/VolGroup/var逻辑分区扩展到了50.00 GiB
[root@cdh1 ~]# lvscan
ACTIVE '/dev/VolGroup/root' [<24.51 GiB] inherit
ACTIVE '/dev/VolGroup/var' [<50.00 GiB] inherit
ACTIVE '/dev/VolGroup/swap' [<6.00 GiB] inherit
ACTIVE '/dev/VolGroup00/consul' [1.00 GiB] inherit
# 用df查看系统磁盘信息,可以看到/var已经调整到了50G,已用降低到13%
[root@cdh1 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/VolGroup-root 25G 16G 9.5G 62% /
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 8.7M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/mapper/VolGroup-var 50G 6.7G 43.3G 13% /var
/dev/xvda1 497M 267M 231M 54% /boot
/dev/mapper/VolGroup00-consul 1014M 33M 982M 4% /consul
tmpfs 3.2G 0 3.2G 0% /run/user/1001
cm_processes 16G 0 16G 0% /run/cloudera-scm-agent/process
tmpfs 3.2G 0 3.2G 0% /run/user/0
2、扩展根节点容量
# 创建一个新分区,容量为剩下的全部
[root@cdh1 lib]# fdisk /dev/xvdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (88082432-964689919,默认为 88082432):
将使用默认值 88082432
Last 扇区, +扇区 or +size{K,M,G} (88082432-964689919,默认为 964689919):
将使用默认值 964689919
分区 2 已设置为 Linux 类型,大小设为 418 GiB
命令(输入 m 获取帮助):t
分区号 (1,2,默认 2):2
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 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)
正在同步磁盘。
# 可以看到新增加的分区 /dev/xvdb2
[root@cdh1 lib]# fdisk -l
磁盘 /dev/xvdb:493.9 GB, 493921239040 字节,964689920 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc121d7db
设备 Boot Start End Blocks Id System
/dev/xvdb1 2048 88082431 44040192 8e Linux LVM
/dev/xvdb2 88082432 964689919 438303744 8e Linux LVM
……
# 创建卷。发现失败,此时重启系统
[root@cdh1 ~]# pvcreate /dev/xvdb2
Device /dev/xvdb2 not found.
[root@cdh1 ~]# reboot
Connection to xx.xxx.x.xx closed by remote host.
Connection to xx.xxx.x.xx closed.
[root@cdh1 ~]# pvcreate /dev/xvdb2
Physical volume "/dev/xvdb2" successfully created.
# 扩展卷组
[root@cdh1 ~]# vgextend VolGroup /dev/xvdb2
Volume group "VolGroup" successfully extended
# 查看物理卷
[root@cdh1 ~]# pvdisplay
--- Physical volume ---
PV Name /dev/xvda3
VG Name VolGroup
PV Size <38.51 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 9857
Free PE 0
Allocated PE 9857
PV UUID uQLUzq-WiZg-YdPp-KNq1-cVdw-aTBc-ey3YWy
--- Physical volume ---
PV Name /dev/xvdb1
VG Name VolGroup
PV Size 42.00 GiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 10751
Free PE 0
Allocated PE 10751
PV UUID JagRJV-FXfW-BcWx-vweZ-kPQz-7goT-COX2MH
--- Physical volume ---
PV Name /dev/xvdb2
VG Name VolGroup
PV Size <418.00 GiB / not usable 3.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 107007
Free PE 107007
Allocated PE 0
PV UUID nf2YjK-Kcp0-hxX3-QeUU-MuX2-EmG5-zzyIQK
--- Physical volume ---
……
# 扩展分区。
[root@cdh1 ~]# lvextend /dev/VolGroup/root /dev/xvdb2
Size of logical volume VolGroup/root changed from <24.51 GiB (6274 extents) to 442.50 GiB (113281 extents).
Logical volume VolGroup/root successfully resized.
# 调整文件系统大小
[root@cdh1 ~]# xfs_growfs /dev/VolGroup/root
meta-data=/dev/mapper/VolGroup-root isize=512 agcount=4, agsize=1606144 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=6424576, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=3137, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 6424576 to 115999744
# 查看分区。可以看到/dev/VolGroup/root逻辑分区扩展到了442.50 GiB
[root@cdh1 ~]# lvscan
ACTIVE '/dev/VolGroup/root' [442.50 GiB] inherit
ACTIVE '/dev/VolGroup/var' [<50.00 GiB] inherit
ACTIVE '/dev/VolGroup/swap' [<6.00 GiB] inherit
ACTIVE '/dev/VolGroup00/consul' [1.00 GiB] inherit
# 用df查看系统磁盘信息
[root@cdh1 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/VolGroup-root 443G 11G 433G 3% /
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 8.7M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/xvda1 497M 267M 231M 54% /boot
/dev/mapper/VolGroup-var 50G 6.8G 44G 14% /var
/dev/mapper/VolGroup00-consul 1014M 33M 982M 4% /consul
tmpfs 3.2G 0 3.2G 0% /run/user/1001
cm_processes 16G 0 16G 0% /run/cloudera-scm-agent/process
tmpfs 3.2G 0 3.2G 0% /run/user/0