×÷ Õߣº лÆô·¢ 
1. Ð÷ÂÛ 
»¶ÓÄ㣬Ç×°®µÄ¶ÁÕß¡£ 
дÕâ¸öÎĵµµÄÄ¿µÄÊÇΪÁ˸æËßÄãʲôÊÇLVM£¬ËüÔõÑù¹¤×÷£¬ÄãÔõÑùÔËÓÃËüʹÄãµÄÉú»î±äµÃ¸üÈÝÒס£ËäÈ»ÓÐÒ»·ÝLVM FAQ£¬µ«ÈÔÊǵÂÎĵģ¬ËüÊÇ´Ó²»Í¬µÄ½Ç¶ÈÀ´ÃèдµÄ¡£ËüÊÇÒ»·Ý¡°ÕæµÄ¡±HOWTO£¬ÔÚ´«ÊÚÀí½â£¨ÓÐÏ£ÍûµÄ£©µÄʱºòÒ²ÊǷdz£ÄÚÐеġ£ 
ÎÒҪ˵Çå³þÎÒ²»ÊÇÒ»¸öLinuxÂß¼¾í¹ÜÀíÆ÷£¨Logical Volume Manager£©µÄ×÷Õß¡£ÎÒÏòÄÇЩ×÷Õß±íʾ¾´Ò⣬ͬʱÎÒÏ£ÍûÄܺÍËûÃǺÏ×÷¡£ 
²»¿É˼ÒéµÄÊÇÎÒÉõÖÁ²»ÖªµÀLVMµÄ¿ª·¢Õß¡£ÎÒÏ£ÍûÕâÖÖÇé¿ö²»¾Ã»á¸Ä±ä¡£ÎÒÊÂÏÈÏòËûÃDZíʾµÀǸ¡£ 
1.1 ÃâÔðÉùÃ÷ & Ðí¿É 
·Ö·¢Õâ¸öÎĵµÊÇÏ£ÍûËü¶ÔÄãÓÐÓ㬵«ÊDz»ÌṩÈκε£±££¬Ò²Ã»ÓÐÏúÊÛ»òÊÊÓ¦ÌØÊâÄ¿µÄµÄÒþº¬µ£±£¡£ 
Èç¹ûÄãµÄ´ÅÅÌÈÚ»¯ÁË£¬Ä㹫˾½â¹ÍÁËÄã-Õâ¾ö²»ÊÇÎÒÃÇµÄ´í¡£¶Ô²»Æð¡£Çë¼ÇµÃ¾³£×ö±¸·Ý£¬ÔÚûÓÐÖØÒªÊý¾ÝµÄϵͳÉÏ×öʵÑé¡£ 
´ËÍ⣬Richard Allen²»´ú±íËûÀϰå˵»°¡£ 
LinuxÊÇLinus TorvaldsµÄ×¢²áÉ̱ꡣ 
Ó¢ÎÄÔÎÄ£¨Èô·ÒëÓÐÎó£¬ÒÔÔÎÄΪ׼£© 
This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
If your disks melt and your company fires you - its never our fault. Sorry. Make frequent backups and do your experiments on non-mission critical systems. 
Furthermore, Richard Allen does not speak for his employer. 
Linux is a registered trademark of Linus Torvalds. 
1.2 Ô¤±¸ÖªÊ¶ 
²»ÊÇÌ«¶à¡£Èç¹ûÄãÔø¾°²×°¹ýLinuxºÍ´´½¨¹ýÎļþϵͳ£¨fdisk/mkfs£©£¬ÄÇÄã¾Í×¼±¸¾ÍÐ÷ÁË¡£µ«ÒòΪ×ÜÊÇÒÔrootÉí·Ý²Ù×÷£¬ËùÒÔÒ»¶¨ÒªÐ¡ÐĽ÷É÷£¡´íÎóµÄÃüÁî»ò²Ù×÷É豸Îļþ¶¼¿ÉÄÜËð»µÒѾ´æÔÚµÄÊý¾Ý¡£ 
Èç¹ûÄãÖªµÀÔõÑùÅäÖÃHP/UX LVM£¬ÄÇÄ㼸ºõ¶¼Íê³ÉÁË£¬Linux¹¤×÷µÃºÜÏóHPÉϵĴ¦Àí¡£ 
1.3 ×¢ÒâÊÂÏî 
¹ØÓÚÕâ·ÝÎĵµÓм¸µãÐèҪעÊÍ¡£ËäÈ»ÎÒдÁ˴󲿷֣¬µ«ÎÒÕæµÄ²»Ï£ÍûËüÍ£²½¡£ÎÒ¼á¾öÏàÐÅOpen Source£¬ÎÒ¹ÄÀøÄã·´À¡¡¢¸üС¢´ò²¹¶¡µÈµÈ¡£²»Òª²»Ô¸Òâ¸æËßÎÒÃÇÓйØÅŰæ»òÆÕͨµÄÀÏ´íÎó¡£ 
Èç¹ûÄã¸Ð¾õÄã¸üÓÐ×ʸñÀ´Î¬»¤Ò»²¿·Ö£¬»òÕßÄãÈÏΪÄãÄÜ´´×÷ºÍά»¤Ò»¸öеIJ¿·Ö£¬»¶ÓÄã¡£Õâ¸öHOWTOµÄSGML¸ñʽÊÇͨ¹ýCVS¿ÉÓõġ£ÎÒÔ¤ÏëÕâ»áÊǸöºÏ×÷¼Æ»®¡£ 
Õâ·ÝÎĵµÀÄã»á·¢ÏÖÐí¶àFIXMEµÄ֪ͨ¡£²¹¶¡×ÜÊÇ»¶ÓµÄ£¡ÎÞÂÛÄãÔÚÄÄÀï·¢ÏÖFIXME£¬Äã¶¼ÒªÃ÷°×ÄãÕý²ÈÔÚδ֪µÄÁìÓò¡£Õâ²»ÊÇ˵ÆäËûµØ·½Ã»ÓдíÎ󣬶øÊÇ˵ÕâÀïÊÇÒªÌØ±ð×¢ÒâµÄµØ·½¡£Èç¹ûÄãÒѾÑéÖ¤ÁËʲô£¬Çë¸æËßÎÒ£¬ÎÒºÃɾ³ýÕâFIXME֪ͨ¡£ 
1.4 ·ÃÎÊ£¬CVS & ¸üР
Õâ·ÝHOWTOµÄ¹æ·¶¶¨Î»ÔÚ ÕâÀï¡£ 
ÎÒÃÇÏÖÔÚÓÐÄäÃûµÄCVS·ÃÎÊ£¬¶ÔÈ«ÊÀ½çÆÕ±éÓÐЧ¡£ÕâʹÄã¸üÈÝÒ×»ñµÃ×îаæµÄHOWTO£¬²¢Ìṩ¸Ä±äºÍÔöÇ¿¡£ 
Èç¹ûÄãÏëͨ¹ýCVS»ñµÃÕâ·ÝHOWTO£¬ÏÂÃæ½ÌÄãÔõÑù×ö£º 
$ export CVSROOT=:pserver:anon@outpost.ds9a.nl:/var/cvsroot 
$ cvs login 
CVS password: [enter cvs (without s)] 
$ cvs co lvm-howto 
cvs server: Updating lvm-howto 
U lvm-howto/lvm-howto.sgml 
Èç¹ûÄã·¢ÏÖ´íÎ󣬻òÕßÏëÔö¼Óʲô£¬±¾µØÐÞ¸´Ëü£¬²¢ÔËÐС°cvs diff -u¡±£¬Í¬Ê±½«½á¹û·¢¸øÎÒÃÇ¡£ 
ÌṩÁËÒ»¸öMakefileÎļþÀ´°ïÖúÄã´´½¨postscript£¬dvi£¬pdf£¬html ºÍ plain text¸ñʽ¡£Äã¿ÉÄÜÐèÒª°²×°sgml-tools£¬ghostscript ºÍ tetex ÒÔ»ñµÃËùÓиñʽ¡£ 
1.5 Õâ·ÝÎĵµµÄ±àÅÅ 
ÎÒÃǽ«Ê×ÏȽâÊÍһЩÐèÒªµÄ»ù±¾ÖªÊ¶¡£ÎÒÃǾ¡Á¿Éè·¨°üÀ¨Àý×ÓÀ´°ïÖúÀí½â¡£ 
2. ʲôÊÇLVM£¿ 
´«Í³ÉÏ£¬Ò»¸ö·ÖÇø´óСÊǾ²Ì¬µÄ¡£ÕâÒªÇóÒ»¸öϵͳ°²×°ÈËÔ±±ØÐ뿼ÂǵIJ»ÊÇ¡°ÎÒÒªÔÚÕâ¸ö·ÖÇøÉÏ´æ´¢¶àÉÙÊý¾Ý¡±£¬¶øÊÇ¡°ÎÒ¡®¾¿¾¹¡¯ÒªÔÚÕâ¸ö·ÖÇøÉÏ´æ´¢¶àÉÙÊý¾Ý¡±¡£µ±Ò»¸öÓû§ÔÚÕâ¸ö·ÖÇøÉÏûÓпռäÁË£¬ËûҪô²»µÃ²»ÖØÐ·ÖÇø£¨Õâ¿ÉÄÜÒªÇóÕû¸ö²Ù×÷ÏµÍ³ÖØ×°£©£¬ÒªÃ´Ïó·ûºÅÁ¬½ÓÒ»ÑùʹÓÃ×é×°»ú¡£ 
Ò»¸ö·ÖÇø¾ÍÊÇÎïÀí´ÅÅÌÉÏһϵÁÐÁ¬ÐøÊý¾Ý¿éµÄ¸ÅÄîÒѾÑݱäÁË¡£¶àÊýÀàUnixϵͳÏÖÔÚÓÐÄÜÁ¦·Ö½âÎïÀí´ÅÅ̵½Ðí¶àµ¥Ôª¡£¶à¸öÇý¶¯Æ÷ÉϵĴ洢µ¥Ôª¿ÉÒÔ»ã¾Û³ÉÒ»¸ö¡°Âß¼¾í¡±£¬ËüÃÇ¿ÉÒÔ·ÖÅ䏸·ÖÇø¡£ÁíÍ⣬µ¥Ôª¿ÉÒÔËæ×ſռäÒªÇóµÄ¸Ä±ä¶ø´Ó·ÖÇøÖÐÌí¼ÓºÍɾ³ý¡£ 
Õâ¾ÍÊÇ»ù±¾µÄÂß¼¾í¹ÜÀíÆ÷£¨LVM£© 
ÀýÈ磬¼ÙÉèÄãÓÐÒ»¸ö1GBµÄ´ÅÅÌ£¬²¢ÇÒ´´½¨¡°/home¡±·ÖÇø»¨ÁË600MB¡£ÉèÏëÄãûÓпռäÁË£¬ÓÚÊǾö¶¨¡°/home¡±ÐèÒª1GB¡£Óô«Í³µÄ·ÖÇø¹ÛÄÄã²»µÃ²»ÓÐÁíÍâÒ»¸öÖÁÉÙ1GB´óСµÄÇý¶¯Æ÷¡£½Ó×ÅÔö¼ÓÕâ¸ö´ÅÅÌ£¬´´½¨ÐµÄ/home£¬²¢ÇÒ½«ÏÖÓеÄÊý¾Ý¿½±´¹ýÈ¥¡£ 
È»¶ø£¬ÓÃLVMÅäÖã¬Äã½ö½öÖ»ÐèÒªÔö¼Ó400MB£¨»ò¸ü´ó£©µÄ´ÅÅÌ£¬²¢½«ËüµÄ´æ´¢µ¥ÔªÌí¼Óµ½¡°/home¡±·ÖÇøÖС£ÆäËû¹¤¾ß¿ÉÒÔÈÃÄãµ÷ÕûÔÀ´ÎļþϵͳµÄ´óС£¬ËùÒÔÄã½ö½öÖ»ÐèÒªµ÷Õû¡°/home¡±´óСÀ´Ê¹Óøü´óµÄ·ÖÇø£¬½Ó×Å·µ»Øµ½ÉÌÎñÖС£ 
Ò»¸ö·Ç³£ÌØÊâµÄ´¦Àí£¬LVMÉõÖÁ¿ÉÒÔ×öËü×ÔÉíµÄ¡°¿ìÕÕ¡±£¬ÕâʹÄãÄܶԲ»¿ÉÒÆ¶¯µÄÄ¿±ê×ö±¸·Ý¡£ÎÒÃÇ·µ»Øµ½Õâ¸ö¼¤¶¯ÈËÐĵĿÉÄÜÖУ¬ÉÔºó£¬ÓÐÐí¶àÁíÍâµÄÕæÊµÓ¦Óᣠ
ÒÔÏÂÕ½ÚÖУ¬ÎÒÃǽâÊÍÁËLVMµÄ»ù±¾ÒªËØ£¬ºÍËüʹÓÃÖеÄÐí¶à¸ÅÒª¡£ 
3. »ù±¾ÔÀí 
Ok£¬²»ÒªÒòΪ¿Ö¾å¶øÍ£Ö¹£¬µ«ÊÇLVMÓÐÐí¶àÄãÒªÃ÷°×µÄÊõÓÒÔÃâÄãΣ¼°ÄãµÄÎļþϵͳ¡£ 
ÎÒÃÇ´ÓÏÂÃæ¿ªÊ¼£¬»ò¶à»òÉÙ¡£ 
ÎïÀí½éÖÊ The physical media 
ÄãÓ¦¸Ã¸ÐÊÜ¡°ÎïÀí¡±Õâ¸öµ¥´ÊÓм«´óµÄÑÓÉ죬ËäÈ»ÎÒÃǸտªÊ¼¼ÙÉèËü½ö½öÊÇÒ»¸öÓ²ÅÌ£¬»òÕßÒ»¸ö·ÖÇø¡£ÀýÈ磬/dev/hda£¬/dev/hda6£¬/dev/sda¡£Äã¿ÉÒÔת»»Ò»¸ö¿éÉ豸ÉÏÈκÎÁ¬Ðø¿éµ½Ò»¸ö¡£¡£¡£ 
¡¡ 
ÎïÀí¾í Physical Volume (PV) 
Ò»¸öPVÖ»²»¹ýÊÇÓÐÐí¶à¹ÜÀíÊý¾ÝÌí¼ÓÔÚËüÀïÃæµÄÎïÀí½éÖÊ-Ò»µ©ÄãÌí¼ÓÁËËü£¬LVM¾ÍÈÏΪËüÊÇ¡£¡£¡£µÄÒ»¸ö³ÖÓÐÕß¡£ 
¡¡ 
ÎïÀí·ÖÇø Physical Extents (PE) 
ÎïÀí·ÖÇøÕæµÄÏóһЩ´óµÄÊý¾Ý¿é£¬Í¨³£Óм¸MB¡£PE¿ÉÒÔ·ÖÅä¸øÒ»¸ö¡£¡£¡£ 
¡¡ 
¾í×é Volume Group (VG) 
Ò»¸öVGÊÇÓÉÐí¶àÎïÀí·ÖÇø×é³ÉµÄ£¨¿ÉÄÜÀ´×Ô¶à¸öÎïÀí¾í»òÓ²ÅÌ£©¡£ËäÈ»Õâ¿ÉÄÜÈÝÒ×ÈÃÄãÈÏΪһ¸öVG¾ÍÊÇÓɼ¸¸öÓ²ÅÌ×é³ÉµÄ£¨ÀýÈç/dev/hdaºÍ/dev/sda£©£¬µ«ÊǸüÈ·ÇеÄ˵£¬Ëü°üº¬ÓÉÕâЩӲÅÌÌṩµÄÐí¶àPE¡£ 
¡¡ 
>´ÓÕâ¸ö¾í×飬PE¿ÉÒÔ·ÖÅä¸øÒ»¸ö¡£¡£¡£ 
¡¡ 
Âß¼¾í Logical Volume (LV) 
Yes£¬ÎÒÃÇ×îÖÕµ½´ïij´¦¡£Ò»¸öÂß¼¾íÊÇÎÒÃǹ¤×÷µÄ×îÖÕ½á¹û£¬ÕâÀïÊÇÎÒÃÇ´æ´¢ÐÅÏ¢µÄµØ·½¡£ÕâµÈͬÓÚ´«Í³·ÖÇøµÄÏë·¨¡£ 
ÏóÓÃͨ³£µÄ·ÖÇøÒ»Ñù£¬ÔÚÂß¼¾íÉÏÄãÄÜ´ú±íÐԵĴ´½¨Ò»¸ö¡£¡£¡£ 
¡¡ 
Îļþϵͳ Filesystem 
ÎļþϵͳÊÇÄãÏëËü³ÉΪµÄÐÎ̬£º±ê×¼µÄ ext2£¬ReiserFS£¬NWFS£¬XFS£¬JFX£¬NTFS£¬µÈµÈ¡£¡£¡£¶ÔLinuxÄÚºËÀ´Ëµ£¬ÔÚͨ³£µÄ·ÖÇøºÍÂß¼¾íÖ®¼äûÓвî±ð¡£ 
ÎÒÊÔ×Å»ÁËÒ»¸öASCIIͼÀ´Ê¹ÕâЩÐÎÏ󻯡£ 
Ò»¸öÎïÀí¾í£¬°üº¬ÁËÐí¶àÎïÀí·ÖÇø£º 
+---[ Physical Volume ]----+ 
| PE | PE | PE | PE | PE | PE | 
+--------------------+ 
Ò»¸ö¾í×飬°üº¬ÁË2¸öÎïÀí¾í£¨PV£©ÓÐ6¸öÎïÀí·ÖÇø£º 
+----[ Volume Group ]-----------+ 
| +-[PV]-----+ +-[PV]------+ | 
| | PE | PE | PE | | PE | PE | PE | | 
| +---------+ +----------+ | 
+--------------------------+ 
ÎÒÃÇÏÖÔÚ×ö¸ü½øÒ»²½À©Õ¹£º 
+----[ Volume Group ]-----------+ 
| +-[PV]-----+ +-[PV]------+ | 
| | PE | PE | PE | | PE | PE | PE | | 
| +-+--+--+--+ +-+---+---+--+ | 
| | | | +---/ | | | 
| | | | | | | | 
| +-+--+--+-+ +---+---+-+ | 
| | Logical | | Logical | | 
| | Volume | | Volume | | 
| | | | | | 
| | /home | | /var | | 
| +-------+ +--------+ | 
+--------------------------+ 
Õâ¸öÏòÎÒÃÇչʾÁËÁ½¸öÎļþϵͳ£¬Ëü¿çÔ½Á½¸ö´ÅÅÌ¡£/homeÎļþϵͳ°üº¬4¸öÎïÀí·ÖÇø£¬/varÎļþϵͳ°üº¬2¸ö¡£ 
bert hubert ÕýÔÚдһ¸ö¹¤¾ßÀ´¸üÕæÊµµÄÃèÊöLVM£¬ÕâÀïÌṩÁËһЩËüÔÚÆÁÄ»ÉϳöÏÖµÄÍâ¹Û¡£¿´ÆðÀ´±ÈASCIIͼ»ÒªºÃ¡£ 
3.1 Show & Tell 
Ok£¬ÕâЩ¸ÅÄîºÜÄÑÀí½â£¨¡¯We are LVM of Borg¡£©£¬Òò´ËÏÂÃæ¸ø³öÁË´´½¨Ò»¸öÂß¼¾íµÄÀý×Ó¡£²»ÒªÕ³ÌùÕâ¸öÀý×Óµ½ÄãµÄ¿ØÖÆÌ¨£¬ÒòΪÕâÑù»áÆÆ»µÊý¾Ý£¬³ý·ÇÅöÇÉÄãµÄ¼ÆËã»úµÄ/dev/hda3ºÍ/dev/hdb2ûÓÐʹÓᣠ
Èç¹ûÓÐÒÉÎÊ£¬²é¿´ÉÏÃæµÄASCIIͼ»¡£ 
ÄãÓ¦¸ÃÊ×ÏÈÉèÖÃ/dev/hda3ºÍ/dev/hdb2µÄ·ÖÇøÀàÐÍΪ0¡Á8e£¬Ëü±íʾ¡±Linux LVM¡±¡£Çë×¢ÒâÄãµÄfdiskµÄ°æ±¾¿ÉÄÜÈÔ²»ÈÏʶÕâÖÖÀàÐÍ£¬Òò´ËËüÏÔʾΪ¡°Unknown¡±£º 
# fdisk /dev/hda 
Command (m for help): p 
Disk /dev/hda: 255 heads, 63 sectors, 623 cylinders 
Units = cylinders of 16065 * 512 bytes 
Device Boot Start End Blocks Id System 
/dev/hda1 1 2 16033+ 83 Linux 
/dev/hda2 3 600 4803435 83 Linux 
/dev/hda3 601 607 56227+ 83 Linux 
/dev/hda4 608 614 56227+ 83 Linux 
Command (m for help): t 
Partition number (1-4): 3 
Hex code (type L to list codes): 8e 
Command (m for help): p 
Disk /dev/hda: 255 heads, 63 sectors, 623 cylinders 
Units = cylinders of 16065 * 512 bytes 
Device Boot Start End Blocks Id System 
/dev/hda1 1 2 16033+ 83 Linux 
/dev/hda2 3 600 4803435 83 Linux 
/dev/hda3 601 607 56227+ 8e Unknown 
/dev/hda4 608 614 56227+ 83 Linux 
Command (m for help): w 
ÎÒÃǶÔ/dev/hdb2×öͬÑùµÄ²Ù×÷£¬Ôڴ˾Ͳ»ÑÝʾÁË¡£ÕâÊÇÐèÒªµÄ£¬ÒÔÖÁLVMÄÜÖØ½¨ÄãÓ¦¸Ã¶ªÊ§µÄÅäÖᣠ
ͨ³££¬²»ÐèÒªÖØÆô£¬µ«ÓÐЩ¼ÆËã»úÈ´ÒªÇó¡£Òò´ËÈç¹ûÏÂÃæµÄÀý×Ó²»¹¤×÷£¬ÊÔÊÔÖØÆô¡£ 
½Ó×ÅÎÒÃÇ´´½¨ÎïÀí¾í£¨PV£©£¬ÈçÏ£º 
# pvcreate /dev/hda3 
pvcreate -- physical volume ¡°/dev/hda3¡å successfully created 
# pvcreate /dev/hdb2 
pvcreate -- physical volume ¡°/dev/hdb2¡å successfully created 
ÎÒÃÇÔÙ½«ÕâÁ½¸öÎïÀí¾í£¨PV£©¼Óµ½Ò»¸ö½Ð×ö¡°test¡±µÄ¾í×飨VG£©ÖУº 
# vgcreate test /dev/hdb2 /dev/hda3 
vgcreate -- INFO: using default physical extent size 4 MB 
vgcreate -- INFO: maximum logical volume size is 255.99 Gigabyte 
vgcreate -- doing automatic backup of volume group ¡°test¡± 
vgcreate -- volume group ¡°test¡± successfully created and activated 
ÏÖÔÚÎÒÃÇÓÐÒ»¸ö¿ÕµÄ¾í×飨VG£©£¬ÈÃÎÒÃÇÀ´¼ì²éһϣº 
# vgdisplay -v test 
-- Volume group -- 
VG Name test 
VG Access read/write 
VG Status available/resizable 
VG # 0 
MAX LV 256 
Cur LV 0 
Open LV 0 
MAX LV Size 255.99 GB 
Max PV 256 
Cur PV 2 
Act PV 2 
VG Size 184 MB 
PE Size 4 MB 
Total PE 46 
Alloc PE / Size 0 / 0 
Free PE / Size 46 / 184 MB 
-- No logical volumes defined in test -- 
-- Physical volumes -- 
PV Name (#) /dev/hda3 (2) 
PV Status available / allocatable 
Total PE / Free PE 13 / 13 
PV Name (#) /dev/hdb2 (1) 
PV Status available / allocatable 
Total PE / Free PE 33 / 33 
ÕâÀïµÄÐí¶àÊý¾Ý-´ó¶àÊýÏÖÔÚ¶¼ÈÝÒ×Àí½âÁË¡£ÎÒÃÇ¿´µ½Ã»ÓÐÂß¼¾í£¨LV£©¶¨Ò壬Òò´ËÎÒÃÇÒª²¹ÉÏËü¡£ÎÒÃǽ«ÔÚ¡°test¡±¾í×飨PV£©Öд´½¨Ò»¸ö50MBµÄÂß¼¾í£¬½Ð×ö¡°HOWTO¡±£º 
# lvcreate -L 50M -n HOWTO test 
lvcreate -- rounding up size to physical extent boundary ¡°52 MB¡± 
lvcreate -- doing automatic backup of ¡°test¡± 
lvcreate -- logical volume ¡°/dev/test/HOWTO¡± successfully created 
Ok£¬µ½ÕâÀÎÒÃÇ´´½¨Ò»¸öÎļþϵͳ£º 
# mke2fs /dev/test/HOWTO 
mke2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09 
Filesystem label= 
OS type: Linux 
Block size=1024 (log=0) 
Fragment size=1024 (log=0) 
13328 inodes, 53248 blocks 
2662 blocks (5.00%) reserved for the super user 
First data block=1 
7 block groups 
8192 blocks per group, 8192 fragments per group 
1904 inodes per group 
Superblock backups stored on blocks: 
8193, 24577, 40961 
Writing inode tables: done 
Writing superblocks and filesystem accounting information: done 
# mount /dev/test/HOWTO /mnt 
# ls /mnt 
lost+found 
ÎÒÃÇ×öÍêÁË£¡ÈÃÎÒÃǻعËÎÒÃǵľí×飨VG£©£¬ËüÏÖÔÚ³äÂúÁËһЩ¶«Î÷£º 
# vgdisplay test -v 
-- Volume group -- 
VG Name test 
VG Access read/write 
VG Status available/resizable 
VG # 0 
MAX LV 256 
Cur LV 1 
Open LV 1 
MAX LV Size 255.99 GB 
Max PV 256 
Cur PV 2 
Act PV 2 
VG Size 184 MB 
PE Size 4 MB 
Total PE 46 
Alloc PE / Size 13 / 52 MB 
Free PE / Size 33 / 132 MB 
-- Logical volume -- 
LV Name /dev/test/HOWTO 
VG Name test 
LV Write Access read/write 
LV Status available 
LV # 1 
# open 1 
LV Size 52 MB 
Current LE 13 
Allocated LE 13 
Allocation next free 
Read ahead sectors 120 
Block device 58:0 
-- Physical volumes -- 
PV Name (#) /dev/hda3 (2) 
PV Status available / allocatable 
Total PE / Free PE 13 / 13 
PV Name (#) /dev/hdb2 (1) 
PV Status available / allocatable 
Total PE / Free PE 33 / 20 
ºÃ£¬Õâ¾ÍÊÇÁË¡£/dev/hda3ÍêȫûÓ㬶ø/dev/hdb2ÓÐ13¸öÎïÀí·ÖÇø£¨PE£©ÔÚÓᣠ
3.2 ¼¤»îºÍ·Ç¼¤»î£ºÄں˿ռäºÍÓû§¿Õ¼ä 
ºÍʹÓÃËùÓвÙ×÷ϵͳһÑù£¬Linux»®·ÖÁËÁ½¸ö²¿·Ö£ºÄں˿ռ䣨kernel space£©ºÍÓû§¿Õ¼ä£¨user space£©¡£Óû§¿Õ¼äÓÐʱ½Ð×öÓû§Çø£¨userland£©£¬ÕâÒ²ÊǹØÓÚÕâ¸öÖ÷ÌâµÄÒ»¸öºÜºÃµÄÃû×Ö¡£ 
¹ØÓÚÂß¼¾í¹ÜÀíÆ÷µÄ´´½¨ºÍÐ޸ͼÊÇÔÚÓû§¿Õ¼ä×öµÄ£¬È»ºó´«¸øÄںˡ£Ò»µ©¾í×é»òÂß¼¾íÏòÄں˻㱨£¬Ëü¾Í½Ð×ö¡°¼¤»î£¨Active£©¡±¡£µ±Ëü±»¼¤»îʱ£¬Ö»ÓÐijЩ¸ü¸Ä¿ÉÒÔÖ´ÐУ¬ÆäËûµÄ¸ü¸ÄÖ»ÓÐÔÚËü·Ç¼¤»îʱִÐС£ 
4. Ê×ÒªÌõ¼þ 
LVMÔںܴó·¶Î§ÄÚµÄÄÚºËÖж¼ÓÐЧ¡£ÔÚLinux 2.4£¬LVM½«È«²¿±»¼¯³É¡£ÄÚºË2.3.47ºÍÒÔǰµÄ£¬LVMÒª¾¹ý´¦ÀíÀ´ºÏ²¢µ½Ö÷ÄÚºËÖС£ 
4.1 ÄÚºË 
Linux 2.4 
°üº¬ÁËÄãÐèÒªµÄËùÓÐÄÚÈÝ¡£Ï£Íû´ó¶àÊýµÄ·¢Ðа涼½«LVMµ±³ÉÄ£¿é¼¯³ÉÀ´·¢ÐС£Èç¹ûÄãÐèÒª±àÒ룬½ö½öÊǵ±ÄãÑ¡Ôñ¿éÉ豸ʱ´ò¹´LVMÑ¡Ïî¡£ 
Linux 2.3.99.* 
Ò»µ©ÄÚºËÏòǰ·¢Õ¹Îȶ¨ÁË£¬Õⲿ·Ö¾Í²»»á´æÔÚÁË¡£µ«ÊÇÏÖÔÚ£¬ÎÒÃÇ»¹ÊÇÒªÃèÊöһϡ£ 
µ±ÎÒÃÇдÕâÆªÎĵµÊ±£¬Linux×îеÄÄں˰汾ÊÇ2.3.99pre5£¬ËüÈÔÈ»ÐèҪһЩСµÄ²¹¶¡²ÅÄÜʹLVM¹¤×÷¡£ 
¶ÔÓÚLinux 2.3.99pre3£¬ÓÐÁ½¸ö²¹¶¡·¢ÐУº 
Ò»¸ö²¹¶¡ÊÇÕÅÌùÔÚlinux-kernel£¬ÔÚÕâÀï¿ÉÒÔÕÒµ½¡£ 
Andrea Arcangeli¸Ä½øÁËÕâ¸ö²¹¶¡£¬ÌṩÁËÒ»¸öÔöÁ¿µÄ²¹¶¡£¬ËüÓ¦ÓÃÓÚ2.3.99pre3 LVM²¹¶¡ºÍÕâÖ®ÉÏ¡£ 
¶ÔÓÚLinux 2.3.99pre5£¬bert hubert½«ÕâÁ½¸ö²¹¶¡ºÏ²¢³ÉÒ»¸öÁË£¬²¢ÇÒÖ÷ÒªÕë¶Ô2.3.99pre5¡£ÔÚÕâÀï¿ÉÒÔÕÒµ½Õâ¸ö²¹¶¡¡£Ê¹ÓÃËüҪСÐÄ¡£ 
2.3.99pre6-1£¬Êǵģ¬ÊDz¹¶¡µÄÒ»¸öÔ¤ÀÀ°æ£¬ÌØÉ«ÊǵÚÒ»´ÎÍê³ÉÁËLVMµÄÖ§³Ö£¡ËüÈÔÈ»ÒÅ©ÁËAndreasµÄ²¹¶¡£¬µ«ÎÒÃÇÈ·ÐÅËü²»¾ÃÕæµÄ»á·¢Ðеġ£ 
2.3.99pre4-ac1ȱʡÓÐÒ»¸öСµÄ²¹¶¡ÔÚ£¬²¢ÇÒÄܹ¤×÷¡£ËäÈ»Ëü²»°üÀ¨AndreasµÄ²¹¶¡¡£ 
Linux 2.2 
FIXME: write this 
Linux 2.3 
FIXME: write this 
4.2 Óû§ÓàµØ 
ÄãÐèÒª´ÓLVMÕ¾µãÏÂÔØÓÐЧµÄ¹¤¾ß¡£ÓÃglibc2.1±àÒëϵͳҪÇóµÄһЩ²¹¶¡¡£¼´Ê¹ÕâÑù£¬ÔÚDebian 2.2ÉÏÈÔ»á³ö´í¡£ 
5. Ôö³¤Îļþϵͳ 
Äã¿ÉÒÔÓÃÒ»¸öÔ¤±¸ºÃµÄ½Å±¾×ö´óÁ¿µÄ¹¤×÷£¬Ò²¿ÉÒÔ¸ù¾ÝÄãµÄÐèÒªÊÖ¹¤×ö 
5.1 ʹÓÃe2fsadm 
Èç¹ûÔÚÄãµÄ¾í×éÖÐÓÐÊ£Óà¿Õ¼ä£¬²¢ÇÒÄãʹÓõÄÊÇext2Îļþϵͳ£¨´ó¶àÊýÈ˶¼ÊÇÕâÑùµÄ£©£¬Äã¾Í¿ÉÒÔʹÓÃÕâ¸ö±ã½ÝµÄ¹¤¾ß¡£ 
e2fsadmÃüÁîÀûÓÃÉÌÒµµÄresize2fs¹¤¾ß¡£ËäÈ»ÈËÃǶ¼¸Ð¾õresize2fsÊÇÒ»¸öºÜºÃµÄÈí¼þ£¬µ«ÊÇËü²¢Ã»Óб»¹ã·ºµÄ°²×°¡£ 
Èç¹ûÄãÏëʹÓÃFSFµÄext2resizeÃüÁÄãÐèÒª¸æËße2fsadmÒÔÏÂÄÚÈÝ£º 
# export E2FSADM_RESIZE_CMD=ext2resize 
# export E2FSADM_RESIZE_OPTS=¡±" 
Óàϵľͼòµ¥ÁË£¬e2fsadmʹÓÃʱºÜÏóÆäËûµÄLVMÃüÁ 
# e2fsadm /dev/test/HOWTO -L+50M 
e2fsadm -- correcting size 102 MB to physical extent boundary 104 MB 
e2fsck 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09 
Pass 1: Checking inodes, blocks, and sizes 
Pass 2: Checking directory structure 
Pass 3: Checking directory connectivity 
Pass 4: Checking reference counts 
Pass 5: Checking group summary information 
/dev/test/HOWTO: 11/25688 files (0.0% non-contiguous), 3263/102400 blocks 
lvextend -- extending logical volume ¡°/dev/test/howto¡± to 104 MB 
lvextend -- doing automatic backup of volume group ¡°test¡± 
lvextend -- logical volume ¡°/dev/test/HOWTO¡± successfully extended 
ext2_resize_fs 
ext2_grow_fs 
ext2_block_relocate 
ext2_block_relocate_grow 
ext2_grow_group 
ext2_add_group 
ext2_add_group 
ext2_add_group 
ext2_add_group 
ext2_add_group 
ext2_add_group 
direct hits 4096 indirect hits 0 misses 1 
e2fsadm -- ext2fs in logical volume ¡°/dev/test/HOWTO¡± successfully extended to 104 MB 
5.2 Ôö³¤Âß¼¾í 
e2fsadmÃüÁîΪÄã×öÁËÕâЩ¹¤×÷¡£È»¶ø£¬Á˽âÔõÑùÊÖ¹¤À´×ö¿ÉÄÜ»áÓÐÓõġ£ 
Èç¹ûÔÚÄãµÄ¾í×éÖÐÓÐÊ£Óà¿Õ¼ä£¬ÄÇôֻÐèÒªÒ»ÐУº 
# lvextend -L+12M /dev/test/HOWTO 
lvextend -- rounding size to physical extent boundary 
lvextend -- extending logical volume ¡°/dev/test/HOWTO¡± to 116 MB 
lvextend -- doing automatic backup of volume group ¡°test¡± 
lvextend -- logical volume ¡°/dev/test/HOWTO¡± successfully extended 
5.3 Ôö³¤¾í×é 
ÕâÊÇÓÃvgextend¹¦ÄÜʵÏֵģ¬ËüºÜÏóÏÚ±ýÒ»ÑùÈÝÒס£ÄãÊ×ÏÈÐèÒª´´½¨Ò»¸öÎïÀí¾í¡£ÕâÒªÓÃpvcreateÀ´ÊµÏÖ¡£Ê¹ÓÃÕâ¸ö¹¤¾ß£¬Äãת»»ÈκοéÉ豸Ϊһ¸öÎïÀí¾í¡£ 
ÕâÑù×öÁËÖ®ºó£¬vgextend×öÓàϵÄÈÎÎñ£º 
# pvcreate /dev/sda1 
pvcreate -- physical volume ¡°/dev/sda1¡å successfully created 
# vgextend webgroup /dev/sda1 
vgextend -- INFO: maximum logical volume size is 255.99 Gigabyte 
vgextend -- doing automatic backup of volume group ¡°webgroup¡± 
vgextend -- volume group ¡°webgroup¡± successfully extended 
Çë×¢Ò⣬ΪÁËÒª×öÕâЩ£¬ÄãµÄ¾í×鱨ÐëÊǼ¤»îµÄ¡£Äã¿ÉÒÔͨ¹ýÖ´ÐÐÏó¡°vgchange -a y webgroup¡±À´Ê¹Ëü¼¤»î¡£ 
5.4 Ôö³¤Îļþϵͳ 
Èç¹ûÄãÏëÊÖ¹¤×ö£¬ÓÐÁ½Ìõ·¾¶¿ÉÒÔʵÏÖ¡£ 
ext2ÀëÏߣ¬Ê¹ÓÃext2resize 
ÀëÏߣ¬¾ÍÒâζ×ÅÄã±ØÐëumountÕâ¸öÎļþϵͳÀ´×öÕâЩ¸Ä±ä¡£ÔÚ×öÕâЩ¸Ä±äµÄʱºò£¬Õâ¸öÎļþϵͳºÍËüÉÏÃæµÄÊý¾ÝÔÝʱ²»¿ÉÓá£Èç¹ûÄãÏëÀ©³ä¸ù·ÖÇø»òÆäËûÖØÒªµÄ·ÖÇø£¬Äã±ØÐëÓÃÆäËûµÄÆô¶¯½éÖÊÀ´Òýµ¼¡£ 
ext2resize¹¤¾ß¿ÉÒÔÔÚGNU ftpÕ¾µãÕÒµ½£¬µ«´ó¶àÊýµÄ·¢Ðа涼½«Ëü×÷Ϊһ¸ö°üÀ´·¢ÐС£ËüµÄÓï·¨Ò²¼òµ¥Ò×¶®£º 
# ext2resize /dev/HOWTO/small 40000 
ÕâÀï40000ÊÇÎļþϵͳÒѾÔö³¤»òÊÕËõÖ®ºóµÄ¿éµÄÊýÄ¿¡£ 
ext2ÔÚÏß 
FIXME: write this 
6. Ìæ»»´ÅÅÌ 
ÕâÊÇLVMµÄºÃ´¦Ö®Ò»¡£Ò»µ©Äã·¢ÏÖij¸ö´ÅÅÌÓдíÎó£¬ÄǾÍÊÇÒªÒÆ¶¯ÄãµÄÊý¾ÝµÄʱºòÁË¡£Ê¹ÓÃLVMËüºÜÏóÏÚ±ýÒ»ÑùÈÝÒס£ÎÒÃÇÊ×ÏȾÙÒ»¸öÃ÷ÏÔµÄÌæ»»Àý×Ó£¬ÄãÏÈÌí¼ÓÒ»¸ö´ÅÅ̵½ÏµÍ³ÖУ¬ËüÖÁÉÙÒªºÍÄãÏëÒªÌæ»»µÄ´ÅÅÌÒ»Ñù´ó¡£ 
ÒªÒÆ¶¯Êý¾Ý£¬ÎÒÃÇÒÆ¶¯¾í×éµÄÎïÀí·ÖÇøµ½ÁíÒ»¸ö´ÅÅÌÉÏ£¬»òÕ߸ü׼ȷµÄ˵£¬µ½ÁíÒ»¸öÎïÀí¾íÉÏ¡£Òª×öÕâЩ£¬LVM¸øÎÒÃÇÌṩÁËpvmove¹¦ÄÜ¡£ 
¼ÙÉèÎÒÃÇ»³ÒɵÄÄÇ¿é´ÅÅ̽Ð/dev/hda1£¬²¢ÇÒÎÒÃÇÏëÓÃ/dev/sdb3À´Ìæ»»Ëü¡£ÎÒÃÇÊ×ÏȽ«/dev/sdb3Ìí¼Óµ½°üº¬/dev/hda1µÄÄǸö¾í×éÖС£ 
ÔÚÕâ֮ǰ£¬umountÕâ¸ö¾í×éÉϵÄËùÓÐÎļþϵͳ¿´À´ÊÇÃ÷Öǵġ£ÓÐÒ»¸öÈ«±¸·ÝÒ²²»»áËð»µÊ²Ã´¡£ 
FIXME: is this necessary? 
½ÓÏÂÀ´ÎÒÃÇÖ´ÐÐpvmove¡£·Ç³£¼òµ¥µÄ£¬ÎÒÃǽö½öÌáµ½ÎÒÃÇÏëÒªÒÆ×ßµÄÄÇ¿é´ÅÅÌ£¬¾ÍÏóÕâÑù£º 
# pvmove /dev/hda1 
pvmove -- moving physical extents in active volume group ¡°test1¡å 
pvmove -- WARNING: moving of active logical volumes may cause data loss! 
pvmove -- do you want to continue? [y/n] y 
pvmove -- doing automatic backup of volume group ¡°test1¡å 
pvmove -- 12 extents of physical volume ¡°/dev/hda1¡å successfully moved 
ÇëÁôÒâÕâ¸ö¾¯¸æ¡£¶øÇÒ¿´À´ÖÁÉÙÓÐЩÄں˻òLVMµÄ°æ±¾ÔÚʹÓÃÕâ¸öÃüÁîʱÓÐÎÊÌâ¡£ÎÒÊÇÓÃ2.3.99pre6-2À´²âÊԵģ¬Ëü¿ÉÒÔ¹¤×÷£¬µ«Òª¾¯¸æ¡£ 
ÏÖÔÚ£¬/dev/hda1ûÓаüº¬ÈκÎÎïÀí·ÖÇøÁË£¬ÎÒÃÇ¿ÉÒÔ½«Ëü´Ó¾í×éÖÐɾ³ý£º 
# vgreduce test1 /dev/hda1 
vgreduce -- doing automatic backup of volume group ¡°test1¡å 
vgreduce -- volume group ¡°test1¡å successfully reduced by physical volume: 
vgreduce -- /dev/hda1 
FIXME: we need clarity on a few things. Should the volume group be active? When do we get data loss? 
6.1 µ±ÊÂÇé·¢ÉúÔÚÍíÆÚʱ 
Èç¹ûÒ»¸ö´ÅÅÌûÓгöÏÖ¾¯¸æ¾Íʧ°ÜÁË£¬Äã¾Í²»ÄÜÒÆ×ßËüÉÏÃæµÄÎïÀí·ÖÇøµ½ÁíÒ»¸öÎïÀí¾íÉÏ£¬ÕâÑùÄã¿ÉÄܻᶪʧÊý¾Ý£¬³ý·ÇÔÚÕâ¸öʧ°ÜµÄPVÉϵÄÂß¼¾íÊǾµÏñÁ˵ġ£ÕýÈ·µÄÐÐΪÊÇÓÃÒ»¸öͬÑùµÄPV»òÕßÖÁÉÙͬÑù´óСµÄ·ÖÇøÀ´Ìæ»»Õâ¸öʧ°ÜµÄPV¡£ 
/etc/lvmconfĿ¼°üº¬ÁËLVMÊý¾ÝºÍ½á¹¹µÄ±¸·Ý£¬°üÀ¨ÄÄЩ´ÅÅÌ×ö³ÉÁËPV£¬Ã¿¸öPVÊôÓÚÄĸöVG£¬Ã¿¸öVGÖÐÓÐÄÄЩLV¡£ 
Ìæ»»Á˳ö´íµÄ´ÅÅÌÖ®ºó£¬Äã¿ÉÒÔÓÃvgcfgrestorÃüÁîÀ´»Ö¸´LVMÊý¾Ýµ½ÐµÄPVÉÏ¡£Ëü»Ö¸´¾í×éºÍËùÓÐËüµÄÐÅÏ¢£¬µ«ÊDz»»á»Ö¸´ÔÚÂß¼¾íÉϵÄÊý¾Ý¡£ÕâÊÇÒòΪµ±LVMÊý¾Ý×öһЩ¸ü¸Äʱ£¬LVMÃüÁî×Ô¶¯×ö±¸·Ý¡£ 
----------------------------------------------------- 
7. ΪһÖÂÐÔ±¸·Ý×ö¿ìÕÕ 
ÕâÊǸü¼ÓÄÑÒÔÖÃÐŵÄÒ»¸ö¿ÉÄÜÐÔ¡£¼ÙÉèÄãÓÐÒ»¸ö·Ç³£·±Ã¦µÄ·þÎñÆ÷£¬ÓÐÐí¶à¶«Î÷ÔËÐС£ÎªÁËÒ»¸öÓÐÓõı¸·Ý£¬ÄãÐèҪֹͣ´óÁ¿µÄ³ÌÐò£¬·ñÔò£¬Ä㽫ÒÔÊý¾Ý²»Ò»Ö¸æÖÕ¡£ 
Ò»¸ö¹æ·¶µÄÀý×ÓÊÇ´Ó/tmpÒÆ¶¯Ò»¸öÎļþµ½/rootÏ£¬¶øÇÒ/root½«Ïȱ¸·Ý¡£µ±/root±»¶ÁµÄʱºò£¬Õâ¸öÎļþ»¹²»ÔÚÄÇÀï¡£µ±/tmp±»±¸·Ýʱ£¬Õâ¸öÎļþÒѾ²»ÔÚÁË¡£ 
ÁíÒ»¸öÊÂÀýÊDZ£´æÊý¾Ý¿â»òĿ¼¡£Èç¹ûÒ»¸öÎļþÔÚʹÓÃ״̬£¬ÎÒÃǾÍûÓÐÈκÎÏßË÷ÁË£¬³ý·ÇÎÒÃǸøÓ¦ÓóÌÐòʱ¼ä×öÒ»¸öÇå³ýµÄ¹Ø±Õ¡£ 
ÕâÑùµÄ»°£¬ÐµÄÎÊÌâÓÖ³öÏÖÁË¡£ÎÒÃǹرճÌÐò£¬×öÎÒÃǵı¸·Ý£¬½Ó×ÅÖØÐÂÆô¶¯ËüÃÇ¡£Èç¹û±¸·ÝÖ»»¨¼¸·ÖÖÓÕâÊǺܺõ쬵«ÊÇ£¬Èç¹ûËüÒª»¨ÊýСʱ£¬»òÕßÄã¸ù±¾²»È·¶¨Ëüµ½µ×Òª»¨¶à¾ÃµÄʱºò£¬ÊÂÇé¾ÍÕæµÄÍ´¿àÁË¡£ 
LVM¿ÉÒÔÓª¾È¡£ 
ʹÓÃLVM£¬ÎÒÃÇ¿ÉÒÔ×öÒ»¸öLV˲¼äµÄ¿ìÕÕ£¬È»ºómountËü£¬ÔÙ±¸·ÝËü¡£ 
ÈÃÎÒÃÇÊÔÑéһϣº 
# mount /dev/test/HOWTO /mnt 
# echo > /mnt/a.test.file 
# ls /mnt/ 
a.test.file lost+found 
# ls -l /mnt/ 
total 13 
-rw-r-r- 1 root root 1 Apr 2 00:28 a.test.file 
drwxr-xr-x 2 root root 12288 Apr 2 00:28 lost+found 
Ok£¬ÎÒÃÇÏÖÔÚÓÐЩÊÂÇéÒªÓÃËüÒ»Æð×ö¡£ÈÃÎÒÃDzúÉúÕâ¸ö¿ìÕÕ£º 
# lvcreate -size 16m -snapshot -name snap /dev/test/HOWTO 
lvcreate -- WARNING: all snapshots will be disabled if more than 16 MB are changed 
lvcreate -- INFO: using default snapshot chunk size of 64 KB 
lvcreate -- doing automatic backup of ¡°test¡± 
lvcreate -- logical volume ¡°/dev/test/HOWTO¡± successfully created 
¶ÔÓÚ¡°-size¡±²ÎÊýÒÔºóÔÙÏêÊö¡£ÈÃÎÒÃÇmountÕâ¸ö¿ìÕÕ£º 
# mount /dev/test/snap /snap 
# ls /snap 
total 13 
-rw-r-r- 1 root root 1 Apr 2 00:28 a.test.file 
drwxr-xr-x 2 root root 12288 Apr 2 00:28 lost+found 
ÏÖÔÚÎÒÃÇ´ÓÔ´¦É¾³ýa.test.file£¬²¢ÇÒ¼ì²éËüÊÇ·ñÈÔÈ»ÔÚ¿ìÕÕÀ 
# rm /mnt/a.test.file 
# ls /snap 
total 13 
-rw-r-r- 1 root root 1 Apr 2 00:28 a.test.file 
drwxr-xr-x 2 root root 12288 Apr 2 00:28 lost+found 
Ì«ÁîÈ˾ªÑÈÁË£¡ 
7.1 ËüÊÇÈçºÎ¹¤×÷µÄ£¿ 
¼ÇµÃÎÒÃDz»µÃ²»ÉèÖá°-size¡±²ÎÊýÂð£¿ÕæÕý·¢ÉúµÄÊÂÇéÊÇ£¬¡°snap¡±¾íÐèÒªÓÐÄÇЩµ±LVMµ÷ÓÃʱ£¬ÔÚÔ´¦Òª±»¸Ä±äµÄËùÓпéµÄÒ»¸ö¿½±´¡£ 
µ±ÎÒÃÇɾ³ýa.test.fileʱ£¬ËüµÄi½Úµã±»É¾³ý¡£ÕâÒýÆð64KBÒª±»±ê×¢³É¡°ÔàµÄ¡±-ͬʱÔʼÊý¾ÝµÄÒ»¸ö¿½±´±»Ð´µ½¡°snap¡±¾í¡£Õâ¸öÀý×ÓÖУ¬ÎÒÃÇ·ÖÅäÁË16MB¸ø¿ìÕÕ£¬Òò´ËÈç¹û¶àÓÚ16MBµÄ¿éÒª±»Ð޸ģ¬¿ìÕվͻáÎÞЧÁË¡£ 
Òª¾ö¶¨Ò»¸ö¿ìÕÕ·ÖÇøµÄÕýÈ·´óС£¬Ä㽫²»µÃ²»ÍƲâ»ùÓÚÖ÷LVµÄʹÓÃģʽ¡¢¿ìÕÕÒª¼¤»îµÄ×Üʱ¼ä¡£ÀýÈ磬ÔÚÎçÒ¹£¬µ±ÎÞÈËʹÓÃϵͳµÄÇé¿öÏ£¬Ò»¸ö¼¸Ð¡Ê±µÄ±¸·Ý¿ÉÄÜÒªÇóºÜСµÄ¿Õ¼ä¡£ 
Çë×¢Ò⣬¿ìÕÕ²»ÊÇÓÀ¾ÃµÄ¡£Èç¹ûÄãжÏÂLVM»òÖØÆô£¬ËüÃǾͶªÊ§ÁË£¬ÐèÒªÖØÐ´´½¨¡£ 
----------------------------------------------------- 
8. ÈßÓà & ÐÔÄÜ 
ΪÁËÐÔÄܵĿ¼ÂÇ£¬¿ÉÒÔ½«Êý¾Ý·ÖÉ¢ÔÚ¼¸¸öÌõ¿é»¯µÄ´ÅÅÌÉÏ¡£ÕâÒâζ×Å¿é1ÔÚPV AÉÏ£¬¿é2ÔÚPV BÉÏ£¬¿é3ÓÖÔÚPV AÉÏ¡£ÄãÒ²¿ÉÒÔÌõ¿é»¯¿ç¶àÓà2¿é´ÅÅÌ¡£ 
ÕâÑùµÄ°²ÅÅÒâζ×ÅÄãÓиü¶àÓÐЧµÄ´ÅÅÌ´ø¿í¡£Ò²¾ÍÊÇ˵°üº¬Á˸ü¶àµÄ¡°Öᡱ¡£ÒÔºó»áÏêÊö¡£ 
³ý´ËÖ®Í⣬ΪÁËÌá¸ßÐÔÄÜ£¬Ò²¿ÉÒÔ½«ÄãµÄÊý¾ÝÔÚ¶à¸ö´ÅÅÌÉÏÓжà·Ý¿½±´¡£Õâ½Ð×ö¾µÏñ¡£Ä¿Ç°£¬LVM±¾Éí»¹²»Ö§³ÖËü£¬µ«ÊÇÓжàÖÖ·½·¨ÄÜʵÏÖ¾µÏñ¡£ 
8.1 ΪºÎÒªÌõ¿é»¯£¿ 
´ÅÅ̵ÄÐÔÄÜÖÁÉÙÊÜÈýÖÖÒòËØµÄÓ°Ïì¡£×îÃ÷ÏÔµÄÊÇÒ»¿é´ÅÅÌÉϵÄÊý¾ÝÄÜÁ¬Ðø±»¶Á»òдµÄËÙ¶È¡£ÕâÊǵ±¶Á»òд½öÁ¬½ÓÁËÒ»¸öµ¥Ò»µÄ´ÅÅ̵ÄSCSI/IDE×ÜÏßÉϵÄÒ»¸ö´óÎļþʱµÄÏÞÖÆÒòËØ¡£ 
½Ó×ÅÊǵ½´ÅÅ̵ÄÓÐЧ´ø¿í¡£Èç¹ûÄãÔÚÒ»¸öSCSI×ÜÏßÉÏÓÐ7¿éÅÌ£¬ÕâÒ²Ðí»áСÓÚÄãµÄ´ÅÅ̱¾ÉíдµÄËÙ¶È¡£Èç¹ûÄãÔ¸Ò⻨×ã¹»µÄÇ®£¬Äã¿ÉÒÔ±ÜÃâÕâ¸öÆ¿¾±³ÉΪһ¸öÎÊÌâ¡£ 
È»ºóÊÇÏìӦʱ¼ä¡£µ±³ÉÑèÓï˵£¬ÏìӦʱ¼ä×ÜÊÇ»µÏûÏ¢¡£ÉõÖÁ¸ü»µµÄÊÇ£¬Äã²»¿ÉÄÜͨ¹ý»¨¸ü¶àµÄÇ®À´½µµÍÏìӦʱ¼ä£¡ÏÖÔÚ³ö²úµÄ´ó¶àÊý´ÅÅÌÓÐÒ»¸ö´óÔ¼7msµÄÏìӦʱ¼ä¡£»¹ÓÐSCSIÏìӦʱ¼ä£¬Í¨³£ÊÇ´óÔ¼25ms¡£ 
FIXME: need recent numbers! 
ÕâÒâζ×Åʲô£¿ÔÚÒ»¸öµäÐÍÇéÐΣ¬×ܵÄÏìӦʱ¼ä´óÔ¼ÊÇ30ms¡£Òò´ËÄãÿÃëÖÓÖ»ÄÜÖ´ÐдóÔ¼33¸ö´ÅÅ̲Ù×÷¡£Èç¹ûÄãÏëÿÃëÖÓÄÜ×öÊýǧ¸ö²éѯ£¬²¢ÇÒÄãûÓдóÁ¿µÄ»º´æ£¬ÄÇôÄã¾Í·Ç³£²»×ßÔËÁË¡£ 
Èç¹ûÄãÓжà¸ö´ÅÅÌ£¬»òÕß¡°Öᡱ£¬ÔÚ²¢Ðй¤×÷£¬ÄÇôÄã¿ÉÒÔÓжà¸öÃüÁîºÜºÃµØÎ§ÈÆÄãµÄÏìÓ¦ÎÊÌâͬʱִÐС£ÓÐЩӦÓóÌÐò£¬±ÈÈçÒ»¸ö´óµÄÐÂÎÅ·þÎñÆ÷£¬Èç¹ûûÓÐÌõ¿é»¯»òÆäËüI/OÃô½ÝÐÔËüÉõÖÁ²»ÔÙ¹¤×÷¡£ 
Õâ¾ÍÊÇÌõ¿é»¯×öµÄÊ¡£Èç¹ûÄãµÄ×ÜÏßÄÜʤÈΣ¬ÉõÖÁÁ¬ÐøµÄ¶ÁºÍд¿ÉÄÜ»á¸ü¿ì¡£ 
8.2 ΪºÎ²»Ìõ¿é»¯ 
Ìõ¿é»¯Ã»ÓнøÒ»²½µÄ´ëÊ©À´½â³ýÄãµÄ´íÎó»ú»á£¬°´Ò»¸ö¡°Ã¿´ÎÒ»±ÈÌØ¡±µÄ»ù±¾ÔÔò¡£Èç¹ûÄãµÄ´ÅÅÌÈÎÒ»¿éËÀÁË£¬ÄãÈ«²¿µÄÂß¼¾í¶¼»á¶ªÊ§¡£Èç¹ûÄãÕýºÃÁ¬½ÓÊý¾Ý£¬½ö½öÎļþϵͳ²¿·Ö¶ªÊ§¡£ 
×îÖÕµÄÑ¡ÏîÊǾµÏñµÄÌõ¿é»¯¡£ 
FIXME: make a mirrored stripe with LVM and md 
8.3 LVM±¾ÉíµÄÌõ¿é»¯ 
µ±ÓÃlvcreate´´½¨LVʱ£¬Ö¸¶¨Ìõ¿é»¯ÅäÖÃÏî¡£ÓÐÁ½¸öÏà¹Ø²ÎÊý¡£-i²ÎÊý¸æËßLVMÓ¦¸ÃÔÚ¶àÉÙ¸öPVÉÏ·ÖÉ¢Êý¾Ý¡£Ìõ¿é»¯²»ÊÇÕæµÄ°´Ò»´ÎÒ»±ÈÌØµÄ»ù´¡À´×öµÄ£¬¶øÊǰ´¿é¡£-I²ÎÊýÖ¸¶¨µ¥Î»ÎªKBµÄ¿é´óС¡£×¢ÒâËü±ØÐëÊÇ2µÄÒ»¸öÃÝ£¬¶øÇÒ×î´óµÄ¿é´óСΪ128KB¡£ 
ÀýÈ磺 
# lvcreate -n stripedlv -i 2 -I 64 mygroup -L 20M 
lvcreate -- rounding 20480 KB to stripe boundary size 24576 KB / 6 PE 
lvcreate -- doing automatic backup of ¡°mygroup¡± 
lvcreate -- logical volume ¡°/dev/mygroup/stripedlv¡± successfully created 
ÐÔÄÜ×¢ÒâÊÂÏî 
Èç¹û¿çͬһ¿é´ÅÅ̵ÄÁ½¸ö·ÖÇøÀ´Ìõ¿é»¯£¬ÐÔÄܵġ°Ôö¼Ó¡±¿ÉÄÜ»áÊǷdz£Ïû¼«µÄ-×¢Òâ±ÜÃâÕâÑù¡£¿çµ¥Ò»µÄIDE×ÜÏßÉϵÄÁ½¸ö´ÅÅÌÀ´Ìõ¿é»¯Ò²ÊÇûÓõÄ-³ý·ÇIDEÒѾ¸Ä½øÁËÎÒËù¼ÇÒäµÄ¡£ 
FIXME: is this still true? 
ºÜÀϵÄÖ÷°å¿ÉÄÜÓÐÁ½¸öIDE×ÜÏߣ¬µ«Êǵڶþ¸öͨ³£ÊÇÓÃÓÚÒ»¸öÏà¶ÔÂýµÄcdromÇý¶¯Æ÷¡£Äã¿ÉÒÔÓü¸¸ö¹¤¾ßÀ´Ö´Ðлù×¼£¬×îÁîÈËעĿµÄÊÇ¡°Bonnie¡±¡£ReiserFSÈËÃÇÒѾ·¢²¼ÁËBonnie++£¬Ëü¿ÉÒÔÓÃÀ´²âÊÔÐÔÄÜÊý¾Ý¡£ 
8.4 Ó²¼þRAID 
¶àÊý¸ßËÙµÄInter x86·þÎñÆ÷ÓÐÓ²¼þRAID¿ØÖÆÆ÷¡£ËüÃÇÖд󲿷ÖÖÁÉÙÓÐ2¸ö¶ÀÁ¢µÄSCSIͨµÀ¡£ÐÒÔ˵ÄÊÇ£¬ÕâЩÔÚLVMÉϺÜÉÙÓйØÏµ¡£ÔÚLinuxÄÜ¿´µ½Èç´ËÒ»¸ö¿ØÖÆÆ÷ÉϵÄÈκζ«Î÷֮ǰ£¬¹ÜÀíÔ±±ØÐëÔÚRAID¿ØÖÆÆ÷×ÔÉíÀﶨÒåÒ»¸öÂß¼Çý¶¯Æ÷¡£¾ÙÒ»¸öÀý×Ó£¬Ëû£¨Ëý£©¿ÉÄÜÑ¡ÔñÌõ¿é»¯ÔÚSCSIͨµÀAÉϵÄÁ½¸ö´ÅÅÌ£¬È»ºó¾µÏñËüÃǵ½Í¨µÀBÉϵÄÁ½¿é´ÅÅÌÉÏ¡£ÕâÊÇÒ»¸öµäÐ͵ÄRAID 0/1ÅäÖã¬×î¼Ñ»¯ÐÔÄܺÍÊý¾Ý°²È«¡£µ±LinuxÔÚһ̨²ÉÓÃÕâÖÖÅäÖõĻúÆ÷ÉÏÆô¶¯Ê±£¬ËüÖ»ÄÜ¡°¿´¡±µ½ÔÚRAID¿ØÖÆÆ÷ÉϵÄÒ»¿é´ÅÅÌ£¬ÄǾÍÊǰüº¬ÁËRAID 0/1Ìõ¿é×éÉÏËÄ¿é´ÅÅ̵ÄÂß¼Çý¶¯Æ÷¡£Õâ¾ÍÊÇ˵£¬ÖÁÓÚLVM¹ØÐĵ쬽ö½öÊÇÔÚÕą̂»úÆ÷ÉϵÄÒ»¿é´ÅÅÌ£¬Ëü½«±»Í¬ÑùµØÊ¹Óá£Èç¹ûÕâЩ´ÅÅÌÖеÄÒ»¸öʧ°ÜÁË£¬LVMÉõÖÁ²»ÖªµÀ¡£µ±¹ÜÀíÔ±Ìæ»»ÁË´ÅÅÌ£¨ÉõÖÁºÜ¿ìµÄÓÃÈȱ¸Ó²¼þ£©£¬LVMÒ²²»ÖªµÀÈÎÒ»ÖÖÇé¿ö·¢ÉúÁË¡£¿ØÖÆÆ÷»áÖØÐÂͬ²½¾µÏñµÄÊý¾Ý£¬Ò»Çж¼Á¼ºÃ¡£ÕâÀï¶àÊýÈË»áÍËÒ»²½À´Ñ¯ÎÊ¡°ÄÇôʹÓÃÕâ¸öRAID¿ØÖÆÆ÷£¬LVMΪÎÒ´øÀ´Ê²Ã´ºÃ´¦ÄØ£¿¡±×îÈÝÒ׵ĻشðÊÇ£¬¶àÊýÇé¿öÏ£¬ÄãÔÚRAID¿ØÖÆÆ÷ÀﶨÒåÁËÒ»¸öÂß¼Çý¶¯Æ÷ºó£¬Äã²»¿ÉÄÜÔÚÒÔºóÌí¼Ó¸ü¶àµÄ´ÅÅ̵½ÄǸöÇý¶¯Æ÷ÁË¡£Òò´Ë£¬Èç¹ûÄãÎóËãÁËËùÒªÇóµÄ¿Õ¼ä£¬»òÕßÄãÖ»ÊÇÐèÒª¸ü¶àµÄ¿Õ¼ä£¬Äã¶¼²»¿ÉÄÜÌí¼ÓÒ»¸öеĴÅÅÌ»òÒ»×é´ÅÅ̵½ÔÀ´µÄÌõ¿é×éÀï¡£ÕâÒâζ×ÅÄã±ØÐëÔÚÕâ¸ö¿ØÖÆÆ÷Àï´´½¨Ò»¸öеÄRAIDÌõ¿é×飬ȻºóÓÃLVMÄã¿ÉÒÔ¼òµ¥µÄÀ©Õ¹LVMµÄLV£¬ÒÔÖÂËüÎÞ·ìµÄ¿çÔ½RAID¿ØÖÆÆ÷ÀïµÄÁ½¸öÌõ¿é×é¡£ 
FIXME: Is there more needed on this subject ? 
8.5 LinuxÈí¼þRAID 
Linux 2.4´ø×ÅÒ»¸ö·Ç³£ºÃµÄRAID´úÌæ³öÏÖÁË¡£Linux 2.2ȱʡµÄ£¬µ±±»Alan Cox·¢²¼Ê±£¬ÊÇÒ»¸ö³õÆÚµÄRAID°æ±¾µÄÌØÐ´£¬ËüûÓб»ºÜºÃµÄÖØÊÓ¡£2.2ÈÔÈ»ÊÇÔçÆÚ°æ±¾ÌØÉ«µÄÔÒòÊÇдÄں˵ÄÈËÃDz»ÏëÔÚÒ»¸öÎȶ¨µÄ°æ±¾Àï×ö¸Ä¶¯£¬ÄÇÑù»áÒªÇóʹÓÃÕ߸üС£ 
¸ü¶àµÄÈËÃÇ£¬°üÀ¨Red Hat£¬MandrakeºÍSuSE£¬Ñ¡ÔñÓñíÏֵúÜÍêÃÀµÄ0.90°æ±¾À´Ìæ»»Ëü¡£ 
ÕâÀïÎÒÃÇÖ»ÂÛÊö0.90°æ±¾¡£ 
FIXME: write more of this 
----------------------------------------------------- 
9. Cookbook 
9.1 ÔÚ¼ÆËã»úÖ®¼äÒÆ¶¯LVM´ÅÅÌ 
ʹÓÃÕâЩм¼Êõ£¬¼òµ¥µÄÈÎÎñÏó´Óһ̨¼ÆËã»úÒÆ¶¯´ÅÅ̵½Áíһ̨¼ÆËã»ú¾Í±äµÃÓÐЩ»ú¾¯ÁË¡£ÔÚÓÃLVM֮ǰ£¬Óû§Ö»ÐèÒª°ÑÕâ¿éÅ̷ŵ½ÐµĻúÆ÷Éϲ¢ÇÒmountÕâЩÎļþϵͳ¡£Ê¹ÓÃLVM£¬¾Í¶àÒ»µãÊÂÇéÒª×ö¡£LVM½á¹¹¼È±£´æÔÚ´ÅÅÌÉÏÒ²±£´æÔÚ/etc/lvmconfĿ¼ÀÒò´Ë£¬Òƶ¯Ò»¸ö»òÒ»×é°üº¬ÁËÒ»¸öVGµÄ´ÅÅÌËùÒª×öµÄΨһµÄÊÂÇéÊÇÈ·±£Õâ¸öVGÊôÓڵĻúÆ÷²»»áÆÆ»µËüµÄÊý¾Ý¡£ÕâÊÇͨ¹ývgexportÃüÁîÀ´ÊµÏֵġ£vgexport½ö½ö´Ó/etc/lvmconfɾ³ý¹ØÓÚÕâ¸öVGµÄ½á¹¹£¬¶ø²»»á¸ü¸Ä´ÅÅÌÉϵÄÈκÎÄÚÈÝ¡£Ò»µ©´ÅÅ̷ŵ½ÐµĻúÆ÷ÉÏ£¨ËûÃÇû±ØÒªÓÐÏàͬµÄID£©£¬Î¨Ò»Òª×öµÄÊÂÇé¾ÍÊÇÐÞ¸Ä/etc/lvmconf¡£ÕâÊÇͨ¹ývgimportÀ´×öµÄ¡£ 
ÀýÈ磺 
ÔÚ»úÆ÷#1£º 
vgchange -a n vg01 
vgexport vg01 
ÔÚ»úÆ÷#2£º 
vgimport vg01 /dev/sda1 /dev/sdb1 
vgchange -a y vg01 
×¢ÒâÄãû±ØÒªÎªÕâ¸öVGʹÓÃÏàͬµÄÃû×Ö¡£Èç¹ûvgimportÃüÁîûÓб£´æÅäÖõı¸·Ý£¬ÄǾÍÓÃvgcfgbackupÀ´×ö¡£ 
9.2 ÖØ½¨/etc/lvmtab ºÍ/etc/lvmtab.d 
FIXME: write about more neat stuff 
----------------------------------------------------- 
10. ½øÒ»²½ÔĶÁ 
LVMÕ¾µã 
Ö÷ÒªµÄÓÐЧLVM×ÊÔ´ 
µÂÎÄLVM HOWTO 
Èç¹ûÄãÄܶÁ¶®µÂÎÄ£¬Ëü¾ÍÒѾ°üº¬ÁËÐí¶àÐÅÏ¢ 
µÂÎÄHOWTOµÄ·Òë 
Peter.Wuestefeld@resnova.deÕýÔÚ½«µÂÎÄHOWTO·Òë³ÉÓ¢Óï¡£¿´À´ËûÃǻỨÐí¶àʱ¼äÔÚÉÏÃæ¡£Èç¹ûÄ㻳ÒÉÎÒÃǵÄHOWTO£¬»òÕßÏëÖªµÀЩʲô£¬ÇëÊÔÊÔËûÃǵÄŬÁ¦¡£ 
HP/UX¹ÜÀí´ÅÅÌÏòµ¼ 
ÒòΪLinux LVM¼¸ºõ¾ÍÊÇHP/UXÖ´ÐеÄÒ»¸öÔÑù£¬ËûÃǵÄÎĵµ¶ÔÎÒÃÇÒ²ÊǷdz£ÓÐÓõġ£ÊÇÒ»¸öºÜºÃµÄ×ÊÁÏ¡£ 
11. ÖÂл 
ÎÒÃdz¢ÊÔÔÚÕâÀïÁгöËùÓаïÖúÎÒÃÇдÕâÆªHOWTOµÄÈË¡£°üÀ¨³Ê±¨¸üС¢ÐÞ¸´»òͶ¸åµÄÈË£¬»¹ÓаïÖúÎÒÃÇÀí½âÕâ¸öÖ÷ÌâµÄÈË¡£
                  	
				

59.56.167.* ÓÚ 2006-08-29 01:25:00·¢±í:
ºÃ¶«¶«,ÊÕÏÂÁË