单数据盘或者很多数据盘mount挂载到某个目录
单数据盘挂载背景
/dev/sda盘挂载到/opt/data2,此目录有数据,且postgres进程在写入该目录
单数据盘挂载操作方法
1)查看/opt/data2 目录下有哪些文件
#ls /opt/data2
2)停止postgres服务
#su – postgres
#pg_ctl stop
#su – root
3)移动/opt/data2目录下的文件
#mv /opt/data2/ /root/install
4)查看硬盘
使用lsblk 命令查看 4T 硬盘的盘符 这里以 /dev/sda为例
格式化分区
#mkfs -t ext4 /dev/sda
5)挂载硬盘
#mount /dev/sda1 /opt/data2/
6)将之前移动的文件 移动回/opt/data2目录下
#cp /root/install/XXXX /opt/data2
7)重新启动数据库 检查启动是否正常
#su – postgres
$pg_ctl stop
#su – root
8)查看 /dev/sda的 uuid 值
#ll /dev/disk/by-uuid/
9)修改fstab 启动自动挂载
将之前查询到的UUID 添加到fstab 文件中
#vi /etc/fstab
UUID=86b88d2e-0518-4004-b3f7-974a4c756990 /opt/data2 ext4 defaults 0 0
多个数据盘挂载背景
将某主机的3块2T的数据盘空间全部“合并”后挂载到/ftp_data目录下,要求文件系统格式化为ext4
需要挂载的数据盘
/dev/sdb:2T
/dev/sdc:2T
/dev/sde:2T
文件系统:ext4
挂载目录:/ftp_data
多个数据盘挂载操作方法
1)磁盘分区–此步非必须
在将磁盘或者磁盘分区用作物理卷(PV)之前,需要对其进行初始化工作,即进行磁盘分区操作
# 新建/dev/sdb的磁盘标签类型为GPT
[root@ ~]# parted /dev/sdb mklabel gpt
# 将/dev/sdb整个空间分给同一个分区
[root@ ~]# parted /dev/sdb mkpart primary 0 100%
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I
Information: You may need to update /etc/fstab.
# 新建/dev/sdc的磁盘标签类型为GPT
[root@ ~]# parted /dev/sdc mklabel gpt
# 将/dev/sdc整个空间分给同一个分区
[root@ ~]# parted /dev/sdc mkpart primary 0 100%
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I
Information: You may need to update /etc/fstab.
# 新建/dev/sde的磁盘标签类型为GPT
[root@ ~]# parted /dev/sde mklabel gpt
# 将/dev/sdc整个空间分给同一个分区
[root@ ~]# parted /dev/sde mkpart primary 0 100%
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I
Information: You may need to update /etc/fstab.
2)创建物理卷
创建物理卷的命令为pvcreate;利用该命令将希望添加到卷组的所有分区或磁盘创建为物理卷;
将分区/dev/sdb1、/dev/sdc1、/dev/sde1分区创建为物理卷:
[root@ ~]# pvcreate /dev/sdb1
Physical volume “/dev/sdb1” successfully created.
[root@ ~]# pvcreate /dev/sdc1
Physical volume “/dev/sdc1” successfully created.
[root@ ~]# pvcreate /dev/sde1
Physical volume “/dev/sde1” successfully created.
3)创建卷组
创建卷组的命令为vgcreate;用此命令将使用pvcreate建立的物理卷创建为一个完整的卷组;
将物理卷/dev/sdb1创建为一个名为vgftp的卷组:
[root@ ~]# vgcreate vgftp /dev/sdb1
Volume group “vgftp” successfully created
4)添加新的物理卷到卷组中
此步即为将3块磁盘空间合并的关键步骤;当系统中新增了磁盘或新建了物理卷,而要将其添加到已有卷组时,就可使用vgextend命令;
将物理卷/dev/sdc1添加到vgftp卷组中:
[root@ ~]# vgextend vgftp /dev/sdc1
Volume group “vgftp” successfully extended
[root@ ~]# vgextend vgftp /dev/sde1
Volume group “vgftp” successfully extended
5)查看卷组
查看卷组用vgs:
[root@ ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vgftp 2 0 0 wz–n- 5.5t 5.5t
vgroot 1 4 0 wz–n- 264.00g 4.00m
从vgs命令的回显结果来看,卷组vgftp成功添加,并且其总空间为两块物理磁盘的总大小(因换算单位不同,所以不是精确的6T)。
6)创建逻辑卷
创建逻辑卷的命令为lvcreate;用此命令将在使用vgcreate建立的卷组上创建逻辑卷;
在卷组vgftp上创建一个名为lvftp的逻辑卷,起大小为5.5T;
-n:指定逻辑卷名
-L:指定逻辑卷大小
[root@ ~]# lvcreate -L 5.5T -n lvftp vgftp
Rounding up size to full physical extent 5.5 TiB
Logical volume “lvftp” created.
7)格式化逻辑卷
将创建的lvftp逻辑卷格式化为ext4
[root@ ~]# mkfs -t ext4 /dev/vgftp/lvftp
meta-data=/dev/vgftp/lvftp isize=512 agcount=33, agsize=268435328 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=0, rmapbt=0, reflink=0
data = bsize=4096 blocks=8777839616, imaxpct=5
= sunit=64 swidth=64 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=521728, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
8)创建挂载目录并挂载
创建挂载目录/ftp_data
[root@ ~]# mkdir /ftp_data
挂载
[root@ ~]# mount /dev/vgftp/lvftp /ftp_data/
做开机自动挂载
echo ‘/dev/mapper/vgftp-lvftp /ftp_data ext4 defaults 0 0’ >/etc/fstab
9)查看是否挂载成功
[root@ ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vgroot-lv_root 40G 1.8G 36G 5% /
devtmpfs 126G 0 126G 0% /dev
tmpfs 126G 0 126G 0% /dev/shm
tmpfs 126G 1.1M 126G 1% /run
tmpfs 126G 0 126G 0% /sys/fs/cgroup
/dev/sda1 976M 197M 713M 22% /boot
/dev/mapper/vgroot-lv_var 59G 197M 56G 1% /var
/dev/mapper/vgroot-lv_home 99G 5.6G 88G 6% /home
tmpfs 26G 0 26G 0% /run/user/0
/dev/mapper/vgftp-lvftp 5.5T 34M 5.4T 1% /ftp_data
[root@ ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 446.1G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 264G 0 part
│ ├─vgroot-lv_root 253:0 0 40G 0 lvm /
│ ├─vgroot-lv_swap 253:1 0 64G 0 lvm [SWAP]
│ ├─vgroot-lv_var 253:2 0 60G 0 lvm /var
│ └─vgroot-lv_home 253:3 0 100G 0 lvm /home
└─sda3 8:3 0 64M 0 part
sdb 8:16 0 2.0T 0 disk
└─sdb1 8:17 0 2.0T 0 part
└─vgftp-lvftp 253:4 0 5.5T 0 lvm /ftp_data
sdc 8:32 0 2.0T 0 disk
└─sdc1 8:33 0 2.0T 0 part
└─vgftp-lvftp 253:4 0 5.5T 0 lvm /ftp_data
sde 8:32 0 2.0T 0 disk
└─sde1 8:33 0 2.0T 0 part
└─vgftp-lvftp 253:4 0 5.5T 0 lvm /ftp_data
nvme0n1 259:0 0 1.5T 0 disk
[root@ ~]# blkid
/dev/sda1: UUID=”5a350fc9-d3d2-44c7-9574-30bf9a9dd0d3″ TYPE=”ext4″
/dev/sda2: UUID=”Sum0Mm-6ShR-6ajh-cYQO-091c-r7QI-zfbDpm” TYPE=”LVM2_member”
/dev/sda3: UUID=”2019-05-24-11-39-22-00″ LABEL=”config-2″ TYPE=”iso9660″
/dev/mapper/vgroot-lv_root: UUID=”df07731a-5e56-4cc3-95ab-b723b5979332″ TYPE=”ext4″
/dev/mapper/vgroot-lv_swap: UUID=”7b5cd64d-d316-430d-8a83-aca89c4708d2″ TYPE=”swap”
/dev/mapper/vgroot-lv_var: UUID=”025cb128-de8f-4bca-8206-5c1601e79715″ TYPE=”ext4″
/dev/mapper/vgroot-lv_home: UUID=”7bd155b6-9200-442a-a61a-32076c0e4b7e” TYPE=”ext4″
/dev/sdc1: UUID=”rWbWuV-nt59-ba72-VJrL-RTM2-EJJt-VVkhZF” TYPE=”LVM2_member” PARTLABEL=”sdc1″ PARTUUID=”355eb343-f2c9-4f13-9477-52b0fb267d5f”
/dev/sdb1: UUID=”yfQk1G-nlN8-OOYu-nptl-cg2d-rD0L-uBFnhW” TYPE=”LVM2_member” PARTLABEL=”sdb1″ PARTUUID=”19db36ba-ec9c-4f35-9b29-b7bd2155f0dd”
/dev/mapper/vgftp-lvftp: UUID=”67cda45d-4282-4346-8be1-e4ec375c2892″ TYPE=”ext4″
[root@ ~]# tail -1 /etc/fstab
/dev/mapper/vgftp-lvftp /ftp_data ext4 defaults 0 0