linux下常用存储相关命令Word下载.docx
- 文档编号:17885926
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:75
- 大小:61.24KB
linux下常用存储相关命令Word下载.docx
《linux下常用存储相关命令Word下载.docx》由会员分享,可在线阅读,更多相关《linux下常用存储相关命令Word下载.docx(75页珍藏版)》请在冰豆网上搜索。
4、激活卷组
为了立即使用卷组而不是重新启动系统,可以使用vgchange来激活卷组:
#vgchange-ayweb_document
5、添加新的物理卷到卷组中
当系统安装了新的磁盘并创建了新的物理卷,而要将其添加到已有卷组时,就需要使用vgextend命令:
#vgextendweb_document/dev/hdc1
这里/dev/hdc1是新的物理卷。
6、从卷组中删除一个物理卷
要从一个卷组中删除一个物理卷,首先要确认要删除的物理卷没有被任何逻辑卷正在使用,就要使用pvdisplay命令察看一个该物理卷信息:
如果某个物理卷正在被逻辑卷所使用,就需要将该物理卷的数据备份到其他地方,然后再删除。
删除物理卷的命令为vgreduce:
#vgreduceweb_document/dev/hda1
7、创建逻辑卷
创建逻辑卷的命令为lvcreate:
#lvcreate-L1500-nwww1web_document
该命令就在卷组web_document上创建名字为www1,大小为1500M的逻辑卷,并且设备入口为/dev/web_document/www1(web_document为卷组名,www1为逻辑卷名)。
如果希望创建一个使用全部卷组的逻辑卷,则需要首先察看该卷组的PE数,然后在创建逻辑卷时指定:
#vgdisplayweb_document|grep"
TotalPE"
TotalPE45230
#lvcreate-l45230web_document-nwww1
8、创建文件系统
笔者推荐使用reiserfs文件系统,来替代ext2和ext3:
创建了文件系统以后,就可以加载并使用它:
#mkdir/data/wwwroot
#mount/dev/web_document/www1/data/wwwroot
如果希望系统启动时自动加载文件系统,则还需要在/etc/fstab中添加内容:
/dev/web_document/www1/data/wwwrootreiserfsdefaults12
9、删除一个逻辑卷
删除逻辑卷以前首先需要将其卸载,然后删除:
#umount/dev/web_document/www1
#lvremove/dev/web_document/www1
lvremove--doyoureallywanttoremove"
/dev/web_document/www1"
?
[y/n]:
y
lvremove--doingautomaticbackupofvolumegroup"
web_document"
lvremove--logicalvolume"
successfullyremoved
10、扩展逻辑卷大小
LVM提供了方便调整逻辑卷大小的能力,扩展逻辑卷大小的命令是lvextend:
#lvextend-L12G/dev/web_document/www1
lvextend--extendinglogicalvolume"
to12GB
lvextend--doingautomaticbackupofvolumegroup"
lvextend--logicalvolume"
successfullyextended
上面的命令就实现将逻辑卷www1的大小扩招为12G。
#lvextend-L+1G/dev/web_document/www1
to13GB
上面的命令就实现将逻辑卷www1的大小增加1G。
增加了逻辑卷的容量以后,就需要修改文件系统大小以实现利用扩充的空间。
笔者推荐使用reiserfs文件系统来替代ext2或者ext3。
因此这里仅仅讨论reiserfs的情况。
Reiserfs文件工具提供了文件系统大小调整工具:
resize_reiserfs。
对于希望调整被加载的文件系统大小:
#resize_reiserfs-f/dev/web_document/www1
一般建议最好将文件系统卸载,调整大小,然后再加载:
#resize_reiserfs/dev/web_document/www1
#mount-treiserfs/dev/web_document/www1/data/wwwroot
对于使用ext2或ext3文件系统的用户可以考虑使用工具
ext2resize。
11、减少逻辑卷大小
使用lvreduce即可实现对逻辑卷的容量,同样需要首先将文件系统卸载:
#umount/data/wwwroot
#resize_reiserfs-s-2G/dev/web_document/www1
#lvreduce-L-2G/dev/web_document/www1
#mount-treiserfs/dev/web_document/www1/data/wwwroot
12、查看卷组命令
#vgdisplaytest-lusanchao-v
vraid
v简介
在Linux系统中目前以MD(MultipleDevices)虚拟块设备的方式实现软件RAID,利用多个底层的块设备虚拟出一个新的虚拟块设备,并且利用条带化(stripping)技术将数据块均匀分布到多个磁盘上来提高虚拟设备的读写性能,利用不同的数据冗余算法来保护用户数据不会因为某个块设备的故障而完全丢失,而且还能在设备被替换后将丢失的数据恢复到新的设备上。
关于不同冗余级别的定义和数据块以及校验块的分布示意图可以参考存储专业委员会给出的参考资料“CommonRAIDDiskDataFormatSpecification”。
目前MD支持linear,multipath,raid0(stripping),raid1(mirror),raid4,raid5,raid6,raid10等不同的冗余级别和组成方式,当然也能支持多个RAID阵列的层叠组成raid1+0,raid5+1等类型的阵列。
在参考资料“SoftwareRAIDHOWTO”中介绍了早期软件RAID阵列功能特点和使用方式,但是因为软件RAID程序的功能不断增加,因此很有必要写份新的使用介绍。
本文主要先讲解用户层mdadm如何管理软件RAID以及使用中经常遇到的问题和解决方法。
通过cat/proc/mdstat看内核是否已经加载MD驱动或者cat/proc/devices是否有md块设备,并且可以使用lsmod看MD是否是以模块形式加载到系统中。
[root@fc5mdadm-2.6.3]#cat/proc/mdstat
Personalities:
unuseddevices:
<
none>
[root@fc5mdadm-2.6.3]#cat/proc/devices|grepmd
1ramdisk
9md
253mdp
[root@fc5mdadm-2.6.3]#lsmod|grepmd
md_mod733640
如果Linux系统既没有将MD编译到内核也没有自动加载MD模块,则没有/proc/mdstat文件,那么需要执行命令modprobemd加载驱动模块。
[root@fc5mdadm-2.6.3]#cat/proc/mdstat
cat:
/proc/mdstat:
Nosuchfileordirectory
[root@fc5mdadm-2.6.3]#modprobemd
vmdadm管理软RAID阵列
mdadm程序是一个独立的程序,能完成所有的软RAID管理功能,主要有7种使用模式:
模式名字
主要功能
Create
使用空闲的设备创建一个新的阵列,每个设备具有元数据块
Assemble
将原来属于一个阵列的每个块设备组装为阵列
Build
创建或组装不需要元数据的阵列,每个设备没有元数据块
Manage
管理已经存储阵列中的设备,比如增加热备磁盘或者设置某个磁盘失效,然后从阵列中删除这个磁盘
Misc
报告或者修改阵列中相关设备的信息,比如查询阵列或者设备的状态信息
Grow
改变阵列中每个设备被使用的容量或阵列中的设备的数目
Monitor
监控一个或多个阵列,上报指定的事件
v为磁盘划分分区
如果MD驱动被编译到内核中,当内核调用执行MD驱动时会自动查找分区为FD(Linuxraidautodetect)格式的磁盘。
所以一般会使用fdisk工具将HD磁盘或者SD磁盘分区,再设置为FD的磁盘。
[root@fc5mdadm-2.6.3]#fdisk/dev/sdk
DevicecontainsneitheravalidDOSpartitiontable,norSun,SGIorOSFdisklabel
BuildinganewDOSdisklabel.Changeswillremaininmemoryonly,
untilyoudecidetowritethem.Afterthat,ofcourse,theprevious
contentwon'
tberecoverable.
Warning:
invalidflag0x0000ofpartitiontable4willbecorrectedbyw(rite)
Command(mforhelp):
n
Commandaction
eextended
pprimarypartition(1-4)
p
Partitionnumber(1-4):
1
Firstcylinder(1-512,default1):
1
Usingdefaultvalue1
Lastcylinderor+sizeor+sizeMor+sizeK(1-512,default512):
512
Usingdefaultvalue512
t
Selectedpartition1
Hexcode(typeLtolistcodes):
FD
Changedsystemtypeofpartition1tofd(Linuxraidautodetect)
w
Thepartitiontablehasbeenaltered!
Callingioctl()tore-readpartitiontable.
Syncingdisks.
[root@fc5mdadm-2.6.3]#fdisk-l/dev/sdk
Disk/dev/sdk:
1073MB,1073741824bytes
128heads,32sectors/track,512cylinders
Units=cylindersof4096*512=2097152bytes
DeviceBootStartEndBlocksIdSystem
/dev/sdk115121048560fdLinuxraidautodetect
软RAID阵列实际上也可以使用任何标准的块设备作为底层设备,如SCSI设备、IDE设备、RAMdisk磁盘和NBD(NetworkBlockDevice)等,甚至是其他的MD设备。
如果MD驱动是模块形式加载,需要在系统运行时由用户层脚本控制RAID阵列启动运行。
如在FedoraCore系统中在/etc/rc.d/rc.sysinit文件中有启动软RAID阵列的指令,若RAID的配置文件mdadm.conf存在,则调用mdadm检查配置文件里的选项,然后启动RAID阵列。
echo"
raidautorun/dev/md0"
|nash--quiet
if[-f/etc/mdadm.conf];
then
/sbin/mdadm-A-s
fi
v创建新的阵列
mdadm使用--create(或其缩写-C)参数来创建新的阵列,并且将一些重要阵列的标识信息作为元数据可以写在每一个底层设备的指定区间。
--level(或者其缩写-l)表示阵列的RAID级别,--chunk(或者其缩写-c)表示每个条带单元的大小,以KB为单位,默认为64KB,条带单元的大小配置对不同负载下的阵列读写性能有很大影响。
--raid-devices(或者其缩写-n)表示阵列中活跃的设备个数,而--spare-devices(或者其缩写-x)表示阵列中热备盘的个数,一旦阵列中的某个磁盘失效,MD内核驱动程序自动用将热备磁盘加入到阵列,然后重构丢失磁盘上的数据到热备磁盘上。
创建一个RAID0设备:
mdadm--create/dev/md0--level=0--chunk=32--raid-devices=3/dev/sd[i-k]1
创建一个RAID1设备:
mdadm-C/dev/md0-l1-c128-n2-x1/dev/sd[i-k]1
创建一个RAID5设备:
mdadm-C/dev/md0-l5-n5/dev/sd[c-g]-x1/dev/sdb
创建一个RAID6设备:
mdadm-C/dev/md0-l6-n5/dev/sd[c-g]-x2/dev/sdb/dev/sdh
创建一个RAID10设备:
mdadm-C/dev/md0-l10-n6/dev/sd[b-g]-x1/dev/sdh
创建一个RAID1+0设备:
mdadm-C/dev/md0-l1-n2/dev/sdb/dev/sdc
mdadm-C/dev/md1-l1-n2/dev/sdd/dev/sde
mdadm-C/dev/md2-l1-n2/dev/sdf/dev/sdg
mdadm-C/dev/md3-l0-n3/dev/md0/dev/md1/dev/md2
当RAID1/4/5/6/10等创建成功后,需要计算每个条带的校验和信息并写入到相应磁盘上,所以RAID阵列有一个冗余组数据同步的初始化过程(resync)。
但是MD设备只要创建成功后即可对外被上层应用读写使用,当然由于上层数据读写降低数据同步的性能。
初始化的时间长短和磁盘阵列自身性能以及读写的应用负载相关,使用cat/proc/mdstat信息查询RAID阵列当前重构的速度和预期的完成时间。
[raid10]
md0:
activeraid10sdh[6](S)sdg[5]sdf[4]sde[3]sdd[2]sdc[1]sdb[0]
3145536blocks64Kchunks2near-copies[6/6][UUUUUU]
[===>
...........]resync=15.3%(483072/3145536)finish=0.3minspeed=120768K/sec
如果一个块设备已经正在被其他的MD设备或者文件系统使用,则不能用来创建新的MD设备。
[root@fc5mdadm-2.6.3]#./mdadm-C/dev/md1-l0-n2/dev/sdh/dev/sdi
mdadm:
Cannotopen/dev/sdh:
Deviceorresourcebusy
createaborted
Build模式可以用来创建没有元数据的RAID0/1设备,不能创建RAID4/5/6/10等带有冗余级别的MD设备。
[root@fc5mdadm-2.6.3]#./mdadm-BR/dev/md0-l0-n6/dev/sd[b-g]
array/dev/md0builtandstarted.
[root@fc5mdadm-2.6.3]#./mdadm-BR/dev/md0-l1-n2/dev/sd[b-c]
array/dev/md0builtandstarted.
[root@fc5mdadm-2.6.3]#./mdadm-BR/dev/md0-l5-n6/dev/sd[b-g]
Raidlevel5notpermittedwith--build.
[root@fc5mdadm-2.6.3]#./mdadm-BR/dev/md0–l6-n6/dev/sd[b-g]
[root@fc5mdadm-2.6.3]#./mdadm-BR/dev/md0–l10-n6/dev/sd[b-g]
Raidlevel10notpermittedwith--build.
使用阵列:
MD设备可以像普通块设备那样直接读写,也可以做文件系统格式化。
#mkfs.ext3/dev/md0
#mkdir-p/mnt/md-test
#mount/dev/md0/mnt/md-test
停止正在运行的阵列:
当阵列没有文件系统或者其他存储应用以及高级设备使用的话,可以使用--stop(或者其缩写-S)停止阵列;
如果命令返回设备或者资源忙类型的错误,说明/dev/md0正在被上层应用使用,暂时不能停止,必须要首先停止上层的应用,这样也能保证阵列上数据的一致性。
[root@fc5mdadm-2.6.3]#./mdadm--stop/dev/md0
failtostoparray/dev/md0:
[root@fc5mdadm-2.6.3]#umount/dev/md0
[root@fc5mdadm-2.6.3]#./mdadm--stop/dev/md0
stopped/dev/md0
v组装曾创建过的阵列
模式--assemble或者其缩写(-A)主要是检查底层设备的元数据信息,然后再组装为活跃的阵列。
如果我们已经知道阵列由那些设备组成,可以指定使用那些设备来启动阵列。
[root@fc5mdadm-2.6.3]#./mdadm-A/dev/md0/dev/sd[b-h]
/dev/md0hasbeenstartedwith6drivesand1spare.
如果有配置文件(/etc/mdadm.conf)可使用命令mdadm-As/dev/md0。
mdadm先检查mdadm.conf中的DEVICE信息,然后从每个设备上读取元数据信息,并检查是否和ARRAY信息一致,如果信息一致则启动阵列。
如果没有配置/etc/mdadm.conf文件,而且又不知道阵列由那些磁盘组成,则可以使用命令--examine(或者其缩写-E)来检测当前的块设备上是否有阵列的元数据信息。
[root@fc5mdadm-2.6.3]#./mdadm-E/dev/sdi
Nomdsuperblockdetectedon/dev/sdi.
[root@fc5mdadm-2.6.3]#./mdadm-E/dev/sdb
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 常用 存储 相关 命令