linux教程之Linux中软RAID罕见成绩办理
看不懂man文档的人.在linux中,命令可分为系统基本命令和应用程序命令.系统基本命令是所有的unix类系统都支持的命令,走到哪都不变,只要是unix类系统上就肯定有.在文章“Linux中软件RAID的利用”中我们报告了Linux体系中软RAID的基础观点和怎样利用mdadm程序来办理软RAID设备,经由过程对mdadm命令的次要参数来先容软RAID设备的创立,删除,中断和扩大等操纵,和其元数据和位图bitmap数据的办理办法。在本文中我们会商利用软RAID设备罕见的成绩和办理的办法。
1.RAID的子设备物理上要自力不相干
对一个磁盘上的多个磁盘分区做RAID是没有代价的,由于不仅违反了RAID阵列中设备自力性的准绳,不克不及增添阵列的牢靠性,当这个磁盘生效后一定不成制止的招致数据丧失,并且还招致阵列的功能光鲜明显下降,当数据读写时磁头在磁盘的多个分区下去回发抖带来长工夫的搜刮耗时。
2.RAID0没无数据冗余功效
RAID0只能利用数据块条带化(stripping)功效来进步功能,假如有磁盘生效则会招致MD设备上的数据丧失,在读写MD设备时堕落。
3.疾速测试命令
当创立磁盘时,假如已知设备上的数据已是同步(sync)乐成过,大概仅仅是用来测试阵列,可使用--assume-clean参数来关照MD驱动不用初始化阵列。
mdadm-C/dev/md0-l5-n6/dev/sd-x1/dev/sdh--assume-clean
假如想制止mdadm每次创立命令时,由于设备上另有之前的元数据的提醒,制止手工输出,可使用--run(大概其缩写-R)关照阵列间接运转。
mdadm--create--run/dev/md0-l5-n6/dev/sd-x1/dev/sdh--assume-clean
4.异构磁盘构成的RAID
RAID0能够撑持分歧巨细的磁盘机关多个地区(zone)的RAID,每一个地区有分歧的磁盘个数。利用fdisk命令查询/dev/sdi1为2GB,/dev/sdj1为4GB,/dev/sdk1为1GB,以是做成RAID0设备为7GB。
mdadm-C/dev/md0-l5-n6/dev/sd-x1/dev/sdh--assume-clean
而RAID1,RAID456,RAID10等对分歧巨细的磁盘只能利用最小的磁盘的容量作为大众的巨细,过剩的部分被华侈失落。/dev/sdi1,/dev/sdj1,/dev/sdk1做成的RAID5设备为2GB,是最小的设备/dev/sdk1的2倍,设备/dev/sdi1和sdj1分离华侈了1GB和3GB。
#./mdadmCCR/dev/md1-l0-n3/dev/sd1
#./mdadm-D/dev/md1|grep"ArraySize"
ArraySize:7337664(7.00GiB7.51GB)
在阵列的形态信息查询中的巨细(ArraySize)后面利用的是KB,也暗示MD块设备的实践巨细;尔后面的两个值只是为了显现处置后的了局。
#./mdadmCCR/dev/md1-l0-n3/dev/sd1
#./mdadm-D/dev/md1|grep"ArraySize"
ArraySize:7337664(7.00GiB7.51GB)
#./mdadm-CR/dev/md1-l5-n3/dev/sd1
#./mdadm-D/dev/md1|grep"ArraySize"
ArraySize:2096896(2048.09MiB2147.22MB)
5.设置共享的热备盘
mdadm程序是同意多个RAID组共享冗余磁盘的。比方有/dev/md0和/dev/md1两个阵列,在创立时/dev/md0内里有一个热备磁盘,而/dev/md1没有热备磁盘。我们只需在/etc/mdadm.conf中设置两个阵列利用不异的spare-group组。
#cat/etc/mdadm.conf
DEVICE/dev/sdb/dev/sdc/dev/sdd/dev/sde/dev/sdf/dev/sdg/dev/sdh
/dev/sdi1/dev/sdj1/dev/sdk1
ARRAY/dev/md1level=raid0num-devices=3spare-group=sparedisks
UUID=dcff6ec9:53c4c668:58b81af9:ef71989d
ARRAY/dev/md0level=raid10num-devices=6spare-group=sparedisks
UUID=0cabc5e5:842d4baa:e3f6261b:a17a477a
并运转mdadm的监控(monitor)形式命令。当/dev/md1阵列中的一个磁盘/dev/sdi1生效时,mdadm会主动从/dev/md0组中上移走spare磁盘,并到场/dev/md1中。
#./mdadm--monitor--mail=root@localhost--syslog--program=/root/md.sh
--delay=300/dev/md*--daemonise
8105
#./mdadm/dev/md1-f/dev/sdi1
mdadm:set/dev/sdi1faultyin/dev/md1
#./mdadm-D/dev/md1
/dev/md1:
Version:00.90.03
1234567下一页
RedHatCentOS等等.学习linux不是逛自由市场,选定版本就要静下心来学习.不要今天换版本明天要升级.这样对你没有好处。
linux教程之Linux中软RAID罕见成绩办理
要多动手,不要怕什么搞坏了怎么办,你不搞坏,不去动手,就永远不会有收获,既然你在linux中是自由的,那就发挥自己的权利;CreationTime:MonAug2300:10:001999</P> RaidLevel:raid5
ArraySize:2096896(2048.09MiB2147.22MB)
UsedDevSize:1048448(1024.05MiB1073.61MB)
RaidDevices:3
TotalDevices:4
PreferredMinor:1
Persistence:Superblockispersistent
UpdateTime:MonAug2300:13:151999
State:clean,degraded,recovering
ActiveDevices:2
WorkingDevices:3
FailedDevices:1
SpareDevices:1
Layout:left-symmetric
ChunkSize:64K
RebuildStatus:78%complete
UUID:34d3de75:6912dc24:e1316607:4e72cd01
Events:0.4
NumberMajorMinorRaidDeviceState
381120sparerebuilding/dev/sdh
181451activesync/dev/sdj1
281612activesync/dev/sdk1
48129-faultyspare/dev/sdi1
6.多种元数据格局
今朝MD设备有两种次要的元数据格局(0.9版本和1.x版本),次要是元数据占用的空间分歧和撑持的底层设备个数分歧,并且1.x版本还能够指定元数据写进设备的详细地位(1.0为在设备尾部,1.1为在设备入手下手,1.2为在设备入手下手的4KB地位)。创立阵列经由过程--metadata(大概其缩写-e)参数来指定元数据格局版本。
#./mdadm-CR/dev/md0-l5-n6-x1/dev/sd
#./mdadm-D/dev/md0|grepVersion
Version:00.90.03
#./mdadm-CR/dev/md0-l5-n6-x1-e1.0/dev/sd
#./mdadm-D/dev/md0|grepVersion
Version:01.00.03
#./mdadm-CR/dev/md0-l5-n6-x1-e1.1/dev/sd
#./mdadm-D/dev/md0|grepVersion
Version:01.01.03
#./mdadm-CR/dev/md0-l5-n6-x1-e1.2/dev/sd
#./mdadm-D/dev/md0|grepVersion
Version:01.02.03
当阵列将磁盘移走后,也利用--zero-superblock清空设备下面的元数据信息。
#./mdadm-Es/dev/sdh
ARRAY/dev/md0level=raid5num-devices=6
UUID=acd2b182:4695ee20:37689502:eb0423e1
spares=1
#./mdadm/dev/md0-f/dev/sdh-r/dev/sdh
mdadm:set/dev/sdhfaultyin/dev/md0
mdadm:hotremoved/dev/sdh
#./mdadm--zero-superblock/dev/sdh
#./mdadm
上一页1234567下一页
要明白学好linux不是一件一蹴而就的事,一定要能坚持使用它,特别是在使用初期。
linux教程之Linux中软RAID罕见成绩办理
如果你只是想应付一下操作系统的课程,劝你最好别学,或者说不要指望能用的怎么样。-Es/dev/sdh</P> #
7.可分区的RAID设备
假如想对撑持分区的MD设备(Partitionableraidarray)举行分区,必要在创立时利用/dev/md_d0来替换后面的/dev/md0。创立阵列是经由过程--auto=mdp(大概其缩写-ap)参数指定。
#./mdadm-Cv--auto=mdp/dev/md_d0-l5-n6/dev/sd-x1/dev/sdh
mdadm:layoutdefaultstoleft-symmetric
mdadm:chunksizedefaultsto64K
mdadm:sizesetto1048512K
mdadm:array/dev/md_d0started.
#fdisk/dev/md_d0
DevicecontainsneitheravalidDOSpartitiontable,norSun,SGIorOSFdisklabel
BuildinganewDOSdisklabel.Changeswillremaininmemoryonly,
untilyoudecidetowritethem.Afterthat,ofcourse,theprevious
contentwontberecoverable.
Thenumberofcylindersforthisdiskissetto1310640.
Thereisnothingwrongwiththat,butthisislargerthan1024,
andcouldincertainsetupscauseproblemswith:
1)softwarethatrunsatboottime(e.g.,oldversionsofLILO)
2)bootingandpartitioningsoftwarefromotherOSs
(e.g.,DOSFDISK,OS/2FDISK)
Warning:invalidflag0x0000ofpartitiontable4willbecorrectedbyw(rite)
Command(mforhelp):n
Commandaction
eextended
pprimarypartition(1-4)
p
Partitionnumber(1-4):1
Firstcylinder(1-1310640,default1):1
Usingdefaultvalue1
Lastcylinderor+sizeor+sizeMor+sizeK(1-1310640,default1310640):+1024M
Command(mforhelp):n
Commandaction
eextended
pprimarypartition(1-4)
p
Partitionnumber(1-4):2
Firstcylinder(250002-1310640,default250002):250002
Usingdefaultvalue250002
Lastcylinderor+sizeor+sizeMor+sizeK(250002-1310640,default1310640):1310640
Usingdefaultvalue1310640
Command(mforhelp):w
Thepartitiontablehasbeenaltered!
Callingioctl()tore-readpartitiontable.
Syncingdisks.
#fdisk-l/dev/md_d0
Disk/dev/md_d0:5368MB,5368381440bytes
2heads,4sectors/track,1310640cylinders
Units=cylindersof8*512=4096bytes
DeviceBootStartEndBlocksIdSystem
/dev/md_d0p11250001100000283Linux
/dev/md_d0p22500021310640424255683Linux
MD设备撑持两种块设备,
上一页1234567下一页
尽我能力帮助他人,在帮助他人的同时你会深刻巩固知识。
linux教程之Linux中软RAID罕见成绩办理
常用的linux命令,尤其是一些能帮你提高开发效率的命令,(eg:grep,awk,sed,split等);<divclass="start">一种是不成分区范例的名字是md设备,主设备号是9,另外一种是可分区的名字是mdp设备,mdp的主设备号是静态分派的,一个mdp设备最多能撑持63个分区。检察/proc/device信息能看到mdp的主设备号,查询/proc/partitions信息能看到md和mdp设备的主设备号和从设备号。</P> #cat/proc/devices|grepmd
1ramdisk
9md
253mdp
#cat/proc/partitions|grepmd
912096896md1
25305242560md_d0
25311000002md_d0p1
25321000002md_d0p2
8.如何扩大RAID设备
Grow形式中的容量扩大(resize)功效不仅撑持设备巨细增添,也能够撑持设备巨细削减,但请求利用者本人来包管MD设备无效数据上不被截断招致丧失。
#./mdadm/dev/md0--grow--size=102400
#./mdadm-Q/dev/md0
/dev/md0:600.00MiBraid57devices,0spares.Usemdadm--detailformoredetail.
而磁盘个数扩大(reshape)功效不撑持设备个数削减,假如在阵列中余暇的热备盘并且也没有指定backup文件,则不克不及扩大。假如关于RAID5阵列有备份(backup)文件能够撑持扩大一个磁盘,扩大后的磁盘阵列是升级形式的,不撑持扩大多个磁盘大概对升级的RAID5阵列再扩大。这些扩大形式不敷平安,仅仅是临时没有热备盘的权宜之计,一样平常公道的操纵仍是先增添余暇的热备磁盘再实行扩大命令。
#./mdadm--grow/dev/md0-n6
mdadm:/dev/md0:Cannotreducenumberofdatadisks(yet).
#./mdadm--grow/dev/md0-n8
mdadm:Needtobackup2688Kofcriticalsection.
mdadm:/dev/md0:Cannotgrow-needaspareorbackup-filetobackupcriticalsection
#./mdadm-G/dev/md0-n9--backup-file=/root/bak-reshape
mdadm:Needtobackup1024Kofcriticalsection..
mdadm:/dev/md0:failedtoinitiatereshape
#./mdadm-G/dev/md0-n8--backup-file=/root/bak-reshape
mdadm:Needtobackup2688Kofcriticalsection..
mdadm:...criticalsectionpassed.
#cat/proc/mdstat
Personalities:
md0:activeraid5sdhsdgsdfsdesddsdcsdb
6291072blockssuper0.91level5,64kchunk,algorithm2
[>..................]reshape=2.6%(28608/1048512)finish=4.1minspeed=4086K/sec
md1:activeraid0sdk1sdj1sdi1
7337664blocks64kchunks
unuseddevices:<none>
#./mdadm-D/dev/md0
/dev/md0:
Version:00.91.03
CreationTime:SunAug2223:46:291999
RaidLevel:raid5
ArraySize:6291072(6.00GiB6.44GB)
UsedDevSize:1048512(1024.11MiB1073.68MB)
RaidDevices:8
TotalDevices:7
PreferredMinor:0
Persistence:Superblockispersistent
UpdateTime:SunAug2223:46:561999
State:clean,degraded,recovering
ActiveDevices:7
<P> WorkingDevices:7
linux教程之Linux中软RAID罕见成绩办理
常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基的。> FailedDevices:0
SpareDevices:0
Layout:left-symmetric
ChunkSize:64K
ReshapeStatus:4%complete
DeltaDevices:1,(7->8)
UUID:50e886b9:9e28d243:a7f6457d:5eb47f2e
Events:0.94
NumberMajorMinorRaidDeviceState
08160activesync/dev/sdb
18321activesync/dev/sdc
28482activesync/dev/sdd
38643activesync/dev/sde
48804activesync/dev/sdf
58965activesync/dev/sdg
681126activesync/dev/sdh
7007removed
#cat/proc/mdstat
Personalities:
md0:activeraid5sdhsdgsdfsdesddsdcsdb
7339584blockslevel5,64kchunk,algorithm2
md1:activeraid0sdk1sdj1sdi1
7337664blocks64kchunks
unuseddevices:<none>
#./mdadm-D/dev/md0
/dev/md0:
Version:00.90.03
CreationTime:SunAug2223:46:291999
RaidLevel:raid5
ArraySize:7339584(7.00GiB7.52GB)
UsedDevSize:1048512(1024.11MiB1073.68MB)
RaidDevices:8
TotalDevices:7
PreferredMinor:0
Persistence:Superblockispersistent
UpdateTime:SunAug2223:50:181999
State:clean,degraded
ActiveDevices:7
WorkingDevices:7
FailedDevices:0
SpareDevices:0
Layout:left-symmetric
ChunkSize:64K
UUID:5
上一页1234567下一页
但不会命令而成为高手也是不可能的.这就好比学英语,什么语法都不懂,只捧着单词手册背单词是学不会英语的,但是没有单词词汇量英语水平也提不高的。
linux教程之Linux中软RAID罕见成绩办理
看不懂man文档的人.在linux中,命令可分为系统基本命令和应用程序命令.系统基本命令是所有的unix类系统都支持的命令,走到哪都不变,只要是unix类系统上就肯定有.0e886b9:9e28d243:a7f6457d:5eb47f2e</P> Events:0.766
NumberMajorMinorRaidDeviceState
08160activesync/dev/sdb
18321activesync/dev/sdc
28482activesync/dev/sdd
38643activesync/dev/sde
48804activesync/dev/sdf
58965activesync/dev/sdg
681126activesync/dev/sdh
7007removed
#./mdadm-G/dev/md0-n9--backup-file=/root/bak-reshape
mdadm:Needtobackup3584Kofcriticalsection..
mdadm:/dev/md0:failedtofinddevice7.Arraymightbedegraded.
--growaborted
9.为何不克不及扩大RAID设备
当利用grow形式时,假如内核不撑持sysfs大概MD驱动版本较低不撑持时则会前往毛病。别的利用strace命令跟踪能招致在哪一个函数挪用上堕落前往。
#./mdadm--grow/dev/md0-n6
mdadm:Needtobackup1280Kofcriticalsection..
mdadm:/dev/md0:Cannotgetarraydetailsfromsysfs
假如体系没有加载sysfs,必要利用mount命令加载。
mountCtsysfssysfs/sys/
10.为何不克不及中断MD设备
当中断MD阵列时,偶然被前往MD设备正在被利用毛病,必要反省MD设备被哪一个下层设备利用。一个情形是被文件体系利用,如已被mount起来:
#df-h|grepmd
/dev/md0485M11M449M3%/mnt/md-test
另外一种情形是MD设备被用户层其他程序翻开利用,如nbd-server导出MD设备:
#fuser-u/dev/md0
/dev/md0:3507(root)
#psax|grep3507
3507?
另有多是内核驱动程序翻开利用,如被LVM程序看成物理卷(PV)利用:
#ls-l/sys/block/md0/holders/
上一页1234567下一页
学习linux,就意味着更快的开发效率,等更多关于软件本身或者说操作系统本身的理解。
linux教程之Linux中软RAID罕见成绩办理
不同版本的Linux命令数量不一样,这里笔者把它们中比较重要的和使用频率最多的命令。total0</P> lrwxrwxrwx1rootroot008-2223:31dm-0->../../../block/dm-0
小结
假如在软RAID利用中碰到成绩不克不及办理,应当起首检察mdadm的匡助信息;假如还不克不及办理,能够到mdadm的邮件列表寻觅是不是有相干的成绩解答大概具体形貌该成绩的产生历程哀求人人匡助
</p>上一页1234567
无论图形界面发展到什么水平这个原理是不会变的,Linux命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文件的制作。 最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。 即便是非英语国家的人发布技术文档,Linux也都首先翻译成英语在国际学术杂志和网络上发表。 首先Linux是开源的,这也是最主要的原因,想学windows,Unix,对不起我们没源代码。也正是因为这样,Linux才能够像滚雪球一样越滚越大,发展到现在这种规模。 如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。可能你会遇到这种情况,对于一个问题会出现不同内容回答,这时你需要通过实践来验证。 在系统检测不到与Linux兼容的显卡,那么此次安装就可能不支持图形化界面安装,而只能用文本模式安装等等。 选择交流平台,如QQ群,网站论坛等。 一定要学好命令,shell是命令语言,命令解释程序及程序设计语言的统称,shell也负责用户和操作系统之间的沟通。
页:
[1]