DL服务器配置升级--多磁盘合并技术&home分区更换

2018-01-20 11:05:04来源:网络收集作者:管理员人点击

分享

[var1]

深度学习服务器一开始的时候因为预算等原因,home分区选择的是2T的希捷企业级磁盘,系统则是SSD。随着实验室大家使用人员越来越多,决定升级下服务器配置。


最初设想:
* 选择加2*1T固态,用来存放需要快速存取的训练数据。
* 选择加4*10T机械硬盘,用来存放一般的数据


最先到货的是2*1T固态,打算合并成一个lvm分区,用来替换原本机械硬盘的/home分区。


rsync:自动同步目录文件

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 --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 / ext4errors=remount-ro 01
# /home was on /dev/sdb1 during installation
UUID=5785ccdb-1015-4208-9557-982745e56c4c /homeext4defaults 02
# 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 / ext4errors=remount-ro 01
# /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 多磁盘合并

基本介绍


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,逻辑卷


抽象表示
DL服务器配置升级--多磁盘合并技术&home分区更换


新加的两块固态是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
Formatlvm2
Metadata Areas 2
Metadata Sequence No6
VG Accessread/write
VG Statusresizable
MAX LV0
Cur LV1
Open LV 1
Max PV0
Cur PV2
Act PV2
VG Size 1.82 TiB
PE Size 4.00 MiB
Total PE476934
Alloc PE / Size475076 / 1.81 TiB
FreePE / Size1858 / 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
Allocatableyes (but full)
PE Size 4.00 MiB
Total PE238467
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
Allocatableyes
PE Size 4.00 MiB
Total PE238467
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 Namehome
VG Namevolgroup00
LV UUIDGODkNf-sGXK-ElhT-ZTSf-7z3H-VpRL-4G83Wc
LV Write Access read/write
LV Creation host, time visint, 2018-01-19 12:45:36 +0800
LV Statusavailable
# open 1
LV Size1.81 TiB
Current LE475076
Segments 2
Allocationinherit
Read ahead sectors auto
- currently set to 256
Block device253: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 到挂载点,然后 既可以使用里面的数据了

参考:
https://jingyan.baidu.com/article/fedf0737772d2835ac897790.html
http://www.178linux.com/44303


微信扫一扫

第七城市微信公众平台