任务一:将新的磁盘挂载到/mnt上(/mnt没有数据)
1.通过fdisk -l(如果是ubuntu系统只需要加上sudo即可)发现新的磁盘名为 /dev/sdb:
2.在根目录创建/mnt文件夹,方便使用,然后:
mount /dev/sdb /mnt
【报错】
mount: /dev/sdb is write-protected, mounting read-only
mount: unknown filesystem type '(null)'
【解决办法】
用如下语句格式化新盘为 xfs格式:
mkfs.xfs -f /dev/sdb
此后用mount /dev/sdb /mnt挂载
再用df -Th 可以看到新的文件系统:
- 系统启动自动挂载
先用blkid /dev/sdb查看新盘的UUID:
然后再修改文件vim /etc/fstab 增加:
echo 'UUID=a96b0805-bc45-498a-a0c8-ba44238ea9a6 /mnt xfs defaults 1 2' >> /etc/fstab
UUID=a96b0805-bc45-498a-a0c8-ba44238ea9a6 /mnt xfs defaults 1 2
任务二:将新的磁盘挂载到/var/lib/clickhouse上(该目录已有数据)
任务背景是给clickhouse扩容。新增了一块200G的硬盘。用fdisk -l可以看到。
- 安装lvm工具:
yum install -y lvm2
2.创建物理卷:
pvcreate /dev/sdb
[root@ch100 clickhouse]# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created.
3.创建卷组,名字为VolGroup
vgcreate VolGroup /dev/sdb
[root@ch100 clickhouse]# vgcreate VolGroup /dev/sdb
Volume group "VolGroup" successfully created
4.创建逻辑卷,名字为LogVol01
lvcreate -l 100%VG -n LogVol01 VolGroup
[root@ch100 clickhouse]# lvcreate -l 100%VG -n LogVol01 VolGroup
Logical volume "LogVol01" created.
此时通过fdisk -l可以看到多了一个卷:
Disk /dev/mapper/VolGroup-LogVol01: 214.7 GB, 214744170496 bytes, 419422208 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
5.格式化卷:/dev/VolGroup/LogVol01
mkfs.xfs -f -n ftype=1 -i size=512 -l size=128m,lazy-count=1 -d agcount=16 /dev/VolGroup/LogVol01
[root@ch101 clickhouse]# mkfs.xfs -f -n ftype=1 -i size=512 -l size=128m,lazy-count=1 -d agcount=16 /dev/VolGroup/LogVol01
meta-data=/dev/VolGroup/LogVol01 isize=512 agcount=16, agsize=3276736 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=52427776, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=32768, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
6.将新卷挂载到/mnt
mount -t xfs /dev/VolGroup/LogVol01 /mnt
[root@ch100 clickhouse]# df -h
/dev/mapper/VolGroup-LogVol01 200G 33M 200G 1% /mnt
7.将 /var/lib/clickhouse内容复制到/mnt
[root@ch100 clickhouse]# cp -r ./* /mnt
8.解除挂载/mnt
umount /mnt
此时/mnt下已经没有刚刚拷贝的文件了:
[root@ch100 clickhouse]# ll /mnt/
total 0
9.删除源文件
注意使用rm 的时候,确认目录位置,不要删错了
[root@ch100 clickhouse]# rm -rf *
10.写入挂载表/etc/fstab ,然后 mount
echo "/dev/mapper/VolGroup-LogVol01 /var/lib/clickhouse xfs defaults 0 0">/etc/fstab
mount /var/lib/clickhouse
可以看到成功挂载:
[root@ch100 clickhouse]# df -h
...
/dev/mapper/VolGroup-LogVol01 200G 493M 200G 1% /var/lib/clickhouse
任务三:mysql还原时,空间不够,现在动态增加一块磁盘
-
-
lsblk可见有一个10G的硬盘sdb未分区
-
-
2.fdisk 添加分区:
依次n->p->回车->回车:因为只有10G空间,就分一个区就行了
然后键入t修改分区类型为LVM(代号8e)
-
3.然后创建物理卷
pvcreate /dev/sdb1
这里因为之前我把这个盘格式化为ext3格式,所以这里问我是不是要擦除这种格式,选择y:
-
-
vgs命令查看当前的卷组,如果没有就要创建,我这里已经有centos这个卷了,所以只需要扩展即可。
-
扩展当前卷组:
vgextend centos /dev/sdb1
这时候报了一个错
【报错】
Couldn't create temporary archive name.
google之说是根分区100%满了,所以我得删点东西腾出点空间,然后就成功了
-
-
扩展逻辑卷
可以用lsblk查看当前的卷组(centos)和逻辑卷(root)的名字:
-
然后用命令:
lvextend -l +100%FREE /dev/mapper/centos-root将组centos剩余的所有空间扩展到root这个卷中:
-
- 重新调整文件系统的大小。
通过df -h可以知道原来的分区是xfs文件系统:
现在将其重新读取:
xfs_growfs /dev/mapper/centos-root
- 重新调整文件系统的大小。
这下通过df -h就能看到增加了空间了。
整个过程完全不需要拷贝文件等。