深度学习服务器一开始的时候因为预算等原因,home分区选择的是2T的希捷企业级磁盘,系统则是SSD。随着实验室大家使用人员越来越多,决定升级下服务器配置。
最初设想:
* 选择加2*1T固态,用来存放需要快速存取的训练数据。
* 选择加4*10T机械硬盘,用来存放一般的数据
最先到货的是2*1T固态,打算合并成一个lvm分区,用来替换原本机械硬盘的/home分区。
rsync可以用来同步两个文件目录,不管两者是处在同一个机器上或是不同的机器上;同时还可以在同步时保证文件的属性信息和执行权限等保持不变;需要以管理员身份去运行,保证不会因为权限的问题导致一系列其它问题
这里将2块1T 固态硬盘通过lvm(逻辑卷管理)技术合并成一个lv分区,临时挂载到/new_home
下,下面就需要使用rsync
命令同步/home
目录
rsync -avXS --exclude='/*/.gvfs' /home/ /new_home/
"""
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-v, --verbose 详细模式输出
-S, --sparse 对稀疏文件进行特殊处理以节省DST的空间
--exclude=PATTERN 指定排除不需要传输的文件模式
--include=PATTERN 指定不排除而需要传输的文件模式
--exclude='/*/.gvfs' [排除|跳过]/*/目录下的.gvfs目录;防止提示gvfs权限问题
"""
参数更详细说明,请参考:http://man.linuxde.net/rsync
命令更一般用法:
# 指同步 zoe 和 zm文件夹,其它的跳过
rsync -aXS --include="zoe" --include="zm" --exclude="/*" /home /new_home/
# 除了zoe 和 zm 之外,全部 同步
rsync -aXS --exclude="zoe" --exclude="zm" /home /new_home/
# 完全同步两个文件夹,目标文件夹中和源文件夹存在的不一样的地方都会被删除
rsync -avXS --delete /data/ /home/backup/
终于,通过rsync -avXS --exclude='/*/.gvfs' /home/ /new_home/
命令,将/home
目录下的所有文件和目录一模一样的同步至/new_home
;然后重新挂载home分区( # vim /etc/fstab
修改/home
分区挂在位置,重启服务器生效)
# 修改之前
# /etc/fstab: static file system information.
#
#
# / was on /dev/sda1 during installation
UUID=e6c07a8a-8e81-42d9-9822-981615f17881 / ext4 errors=remount-ro 0 1
# /home was on /dev/sdb1 during installation
UUID=5785ccdb-1015-4208-9557-982745e56c4c /home ext4 defaults 0 2
# lv分区,uuid方式指向磁盘
UUID=7edae0d5-a370-4607-9d5d-fafeec9292ef /new_home auto nosuid,nodev,nofail,x-gvfs-show 0 0
# 修改之后
# /etc/fstab: static file system information.
#
#
# / was on /dev/sda1 during installation
UUID=e6c07a8a-8e81-42d9-9822-981615f17881 / ext4 errors=remount-ro 0 1
# /home was on /dev/sdb1 during installation
UUID=7edae0d5-a370-4607-9d5d-fafeec9292ef /home auto nosuid,nodev,nofail,x-gvfs-show 0 0
注意:blkid /dev/sdc
可以查看磁盘的uuid
基本介绍
LVM是Logical Volume Manager的简写。其是Linux环境下对磁盘分区进行管理的一种机制。LVM由Heinz Mauelshagen在Linux 2.4内核上实现。其主要作用是在不损坏磁盘数据的情况下对磁盘空间进行增加,缩减。LVM的做法是将几块物理硬盘通过软件的方式组合成一块空间相对大的Volume Group,简称VG,然后将这块大磁盘通过Physical Extend组成可以使用的分区Logical Volume,简称LV。将LV格式化之后挂载既能使用
常见名词
PV:Physical Volume,物理卷
PE:Physical Extend,物理块
VG:Volume Group,卷组
LV:Logical Volume,逻辑卷
新加的两块固态是sdc和sdd,通过下面的命令一步步创建lv分区
# 1.初始化磁盘为物理卷 pv
pvcreate /dev/sdc
pvcreate /dev/sdd
# 创建卷组 volgroup00
vgcreate volgroup00 /dev/sdc
# 将sdd 添加进 volgroup00卷组
vgextend volgroup00 /dev/sdd
# 显示卷组信息
vgdisplay
--- Volume group ---
VG Name volgroup00
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 6
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 1.82 TiB
PE Size 4.00 MiB
Total PE 476934
Alloc PE / Size 475076 / 1.81 TiB
Free PE / Size 1858 / 7.26 GiB
VG UUID 4GSVOH-Q2kF-cCfa-GDXe-g3ME-vpBB-sC8zJ4
# 显示物理卷
pvdisplay
--- Physical volume ---
PV Name /dev/sdc
VG Name volgroup00
PV Size 931.51 GiB / not usable 1.71 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 238467
Free PE 0
Allocated PE 238467
PV UUID YyVFW3-Vd3z-X1r4-A07Z-Bhry-ZRkR-vlwVNz
--- Physical volume ---
PV Name /dev/sdd
VG Name volgroup00
PV Size 931.51 GiB / not usable 1.71 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 238467
Free PE 1858
Allocated PE 236609
PV UUID cLCcPs-XFO9-9djK-oojq-ImOI-5bGt-SVKrq1
# 逻辑卷lv: home 创建
# lvcreate -L 1800G -n home VolGroup00
# lvcreate -l 98%FREE -n home VolGroup00
lvcreate -l 98%VG -n home VolGroup00
# 显示 lv
lvdisplay
--- Logical volume ---
LV Path /dev/volgroup00/home
LV Name home
VG Name volgroup00
LV UUID GODkNf-sGXK-ElhT-ZTSf-7z3H-VpRL-4G83Wc
LV Write Access read/write
LV Creation host, time visint, 2018-01-19 12:45:36 +0800
LV Status available
# open 1
LV Size 1.81 TiB
Current LE 475076
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
# 格式化
mkfs.ext4 /dev/volgroup00/home
# 到此步,物理卷pv-->逻辑卷组vg-->逻辑卷lv 创建完成,并且可以挂载文件系统
# 逻辑卷扩展 +500M
lvextend -L +500M /dev/volgroup00/home
#lvextend -L +500M /dev/mapper/volgroup00-home
#lvextend -l 50%VG /dev/mapper/volgroup00-home
# 上一步操作保是增加了逻辑卷的大小, /new_home文件系统大小并未改变,使用resize2fs命令,重定义文件系统大小
resize2fs /dev/volgroup00/home
扩展:当系统重装时,存放在/home(lvm分区)里面的数据如何恢复?
# 查看存在哪些 vg
root # vgscan
# 查看 vg 从 哪些 pv里划分出来的
root # pvdisplay
# 通知系统逻辑卷组的更改
# 卷组名来自于第一步: vgscan
root # vgimport 卷组名
root # vgchange -a y
# 然后就是 mount 到挂载点,然后 既可以使用里面的数据了
扩展二:如何将磁盘或分区独立出来?
机器升级,新增加了2块10TB的希捷企业级机械硬盘(sde
,sdf
),组成数据盘,之前的2TB机械磁盘(sdb
)独立出来用作其它方面。
将sde
和sdf
磁盘加入到数据盘(逻辑磁盘),并将2TB的sdb
磁盘上的数据转移到这2块新磁盘上,完成后即可移除sdb
磁盘,问题解决!
第一步:查看需要独立出来的目标磁盘的占用情况
pvdisplay # 查看物理磁盘信息
--- Physical volume ---
PV Name /dev/sdb
VG Name volgroup-hd
PV Size 1.82 TiB / not usable 1.09 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 476932
Free PE 0 # 磁盘全部被占用了
Allocated PE 476932
PV UUID CQ6TDO-TNej-Fl0g-RhZD-3CVV-xgPY-tu396m
--- Physical volume ---
PV Name /dev/sde
VG Name volgroup-hd
PV Size 9.10 TiB / not usable 4.00 MiB
Allocatable yes (but full) # 未分配状态,该磁盘不可以
PE Size 4.00 MiB
Total PE 2384383
Free PE 0
Allocated PE 2384383
PV UUID svf7uc-xWvt-D6of-aLTe-blGU-S0GP-imlplH
--- Physical volume ---
PV Name /dev/sdf
VG Name volgroup-hd
PV Size 9.10 TiB / not usable 4.00 MiB
Allocatable yes # 已分配,该磁盘处于可用状态
PE Size 4.00 MiB
Total PE 2384383
Free PE 1621347 # 有大量的已分配空闲空间
Allocated PE 763036 # 已分配的空间(不一定被使用)
PV UUID USNcyh-anLS-uDcT-gg4p-BKi2-SbsV-Pa8yiU
移动数据到其它磁盘上
# 将2TB的磁盘sdb的内容移动到10TB的sdf磁盘中
pvmove /dev/sdb /dev/sdf
"""
/dev/sdb: Moved: **.*%
/dev/sdb: Moved: 16.6%
/dev/sdb: Moved: **.*%
/dev/sdb: Moved: 99.9%
/dev/sdb: Moved: 100.0%
"""
注销要删除的硬盘/dev/sdb
pvchange -xn /dev/sdb # 注销sdb
"""
Physical volume "/dev/sdb" changed
1 physical volume changed / 0 physical volumes not changed
"""
pvdisplay
"""
--- Physical volume ---
PV Name /dev/sdb
VG Name volgroup-hd
PV Size 1.82 TiB / not usable 1.09 MiB
Allocatable NO # 不再是激活状态
PE Size 4.00 MiB
Total PE 476932
Free PE 476932
Allocated PE 0
PV UUID CQ6TDO-TNej-Fl0g-RhZD-3CVV-xgPY-tu396m
"""
将硬盘或分区从逻辑卷组中删除,并删除物理盘
vgreduce volgroup-hd /dev/sdb # 从逻辑卷组中删除,此时物理卷中还存在
"""
Removed "/dev/sdb" from volume group "volgroup-hd"
"""
pvremove /dev/sdb # 从物理卷中删除
"""
Labels on physical volume "/dev/sdb" successfully wiped
"""
pvdisplay # 此时没有了 /dev/sdb
参考:
https://jingyan.baidu.com/article/fedf0737772d2835ac897790.html
http://www.178linux.com/44303
http://blog.51yip.com/linux/1779.html
新补充
https://jingyan.baidu.com/article/cb5d6105f318af005c2fe0dd.html
https://blog.csdn.net/a351945755/article/details/38089349