LVMʹÓÃÊÖ²á
1 ¼ò½é
1.1 ʲôÊÇLVM
LVMÊÇ Logical Volume ManagerµÄ¼òд£¬ËüÓÉHeinz MauelshagenÔÚLinux 2.4ÄÚºËÉÏʵÏÖ£¬Ä¿Ç°×îа汾Ϊ£ºÎȶ¨°æ1.0.5£¬¿ª·¢°æ 1.1.0-rc2£¬ÒÔ¼°LVM2¿ª·¢°æ¡£Ó봫ͳµÄ´ÅÅÌÓë·ÖÇøÏà±È£¬LVMΪ¼ÆËã»úÌṩÁ˸ü¸ß²ã´ÎµÄ´ÅÅÌ´æ´¢¡£Ëüʹϵͳ¹ÜÀíÔ±¿ÉÒÔ¸ü·½±ãµÄΪӦÓÃÓëÓû§·ÖÅä´æ´¢¿Õ¼ä¡£ÔÚLVM¹ÜÀíϵĴ洢¾í¿ÉÒÔ°´ÐèÒªËæÊ±¸Ä±ä´óСÓëÒÆ³ý(¿ÉÄÜÐè¶ÔÎļþϵͳ¹¤¾ß½øÐÐÉý¼¶)¡£LVMÒ²ÔÊÐí°´Óû§×é¶Ô´æ´¢¾í½øÐйÜÀí£¬ÔÊÐí¹ÜÀíÔ±ÓøüÖ±¹ÛµÄÃû³Æ(Èçsales¡¢development)´úÌæÎïÀí´ÅÅÌÃû(Èçsda¡¢sdb)À´±êʶ´æ´¢¾í¡£
1.2 ΪʲôʹÓÃLVM
LVMͨ³£ÓÃÓÚ×°±¸´óÁ¿´ÅÅ̵Äϵͳ£¬µ«ËüͬÑùÊÊÓÚ½öÓÐÒ»¡¢Á½¿éÓ²Å̵ÄСϵͳ¡£
1.2.1 СϵͳʹÓÃLVMµÄÒæ´¦
´«Í³µÄÎļþϵͳÊÇ»ùÓÚ·ÖÇøµÄ£¬ÕâÖÖ·½Ê½±È½ÏÖ±¹Û£¬µ«²»Ò׸ı䣺1.²»Í¬µÄ·ÖÇøÏà¶Ô¶ÀÁ¢£¬ÎÞÏ໥ÁªÏµ£¬¸÷·ÖÇø¿Õ¼äºÜÒ×ÀûÓò»Æ½ºâ£¬¿Õ¼ä²»Äܳä·ÖÀûÓá£2.µ±Ò»¸öÎļþϵͳ£¯·ÖÇøÒÑÂúʱ£¬ÎÞ·¨¶ÔÆäÀ©³ä£¬Ö»ÄܲÉÓÃÖØÐ·ÖÇø£¯½¨Á¢Îļþϵͳ£¬·Ç³£Âé·³£»»ò°Ñ·ÖÇøÖеÄÊý¾ÝÒÆµ½ÁíÒ»¸ö¸ü´óµÄ·ÖÇøÖУ»»ò²ÉÓ÷ûºÅÁ¬½ÓµÄ·½Ê½Ê¹ÓÃÆäËü·ÖÇøµÄ¿Õ¼ä¡£3.Èç¹ûÒª°ÑÓ²ÅÌÉϵĶà¸ö·ÖÇøºÏ²¢ÔÚÒ»ÆðʹÓã¬Ö»ÄܲÉÓÃÔÙ·ÖÇøµÄ·½Ê½£¬Õâ¸ö¹ý³ÌÐèÒªÊý¾ÝµÄ±¸·ÝÓë»Ö¸´¡£
µ±²ÉÓÃLVMʱ£¬Çé¿öÓÐËù²»Í¬£º1.Ó²Å̵Ķà¸ö·ÖÇøÓÉLVMͳһΪ¾í×é¹ÜÀí£¬¿ÉÒÔ·½±ãµÄ¼ÓÈë»òÒÆ×ß·ÖÇøÒÔÀ©´ó»òÕß¼õС¾í×éµÄ¿ÉÓÃÈÝÁ¿£¬³ä·ÖÀûÓÃÓ²Å̿ռ䡣2.Îļþϵͳ½¨Á¢ÔÚÂß¼¾íÉÏ£¬¶øÂß¼¾í¿É¸ù¾ÝÐèÒª¸Ä±ä´óСÒÔÂú×ãÒªÇó¡£3.Îļþϵͳ½¨Á¢ÔÚLVMÉÏ£¬¿ÉÒÔ¿ç·ÖÇø£¬·½±ãʹÓá£
1.2.2 ´óϵͳʹÓÃLVMµÄÒæ´¦
ÔÚʹÓúܶàÓ²Å̵ĴóϵͳÖУ¬Ê¹ÓÃLVMÖ÷ÒªÊÇ·½±ã¹ÜÀí¡¢Ôö¼ÓÁËϵͳµÄÀ©Õ¹ÐÔ¡£ÔÚÒ»¸öÓкܶ಻ͬÈÝÁ¿Ó²Å̵ĴóÐÍϵͳÖУ¬¶Ô²»Í¬µÄÓû§µÄ¿Õ¼ä·ÖÅäÊÇÒ»¸ö¼¼ÇÉÐԵŤ×÷£¬ÒªÔÚÓû§ÐèÇóÓëʵ¼Ê¿ÉÓÿռäÖÐѰÇóÆ½ºâ¡£Óû§£¯Óû§×éµÄ¿Õ¼ä½¨Á¢ÔÚLVMÉÏ£¬¿ÉÒÔËæÊ±°´ÒªÇóÔö´ó£¬»ò¸ù¾ÝʹÓÃÇé¿ö¶Ô¸÷Âß¼¾í½øÐе÷Õû¡£µ±ÏµÍ³¿Õ¼ä²»×ã¶ø¼ÓÈëеÄÓ²ÅÌʱ£¬²»±Ø°ÑÓû§µÄÊý¾Ý´ÓÔÓ²ÅÌÇ¨ÒÆµ½ÐÂÓ²ÅÌ£¬¶øÖ»Ðë°ÑеķÖÇø¼ÓÈë¾í×é²¢À©³äÂß¼¾í¼´¿É¡£Í¬Ñù£¬Ê¹ÓÃLVM¿ÉÒÔÔÚ²»Í£·þÎñµÄÇé¿öÏ¡£°ÑÓû§Êý¾Ý´Ó¾ÉÓ²ÅÌ×ªÒÆµ½ÐÂÓ²Å̿ռäÖÐÈ¥¡£
2 LVM¹¹³É
LVMµÄ½á¹¹¼òͼÈçÏ£º
2.1 ¾í×évolume group (VG)
¾í×éÊÇLVMÖÐ×î¸ß³éÏó²ã£¬ÊÇÓÉÒ»¸ö»ò¶à¸öÎïÀí¾íËù×é³ÉµÄ´æ´¢Æ÷³Ø¡£
2.2 ÎïÀí¾íphysical volume (PV)
µäÐ͵ÄÎïÀí¾íÊÇÓ²ÅÌ·ÖÇø£¬µ«Ò²¿ÉÒÔÊÇÕû¸öÓ²ÅÌ»òÒÑ´´½¨µÄSoftware RAID ¾í¡£
2.3 Âß¼¾ílogical volume (LV)
Âß¼¾íÏ൱ÓÚ·ÇLVMϵͳÖеķÖÇø£¬ËüÔÚ¾í×éÉϽ¨Á¢£¬ÊÇÒ»¸ö±ê×¼µÄ¿éÉ豸£¬¿ÉÒÔÔÚÆäÉϽ¨Á¢Îļþϵͳ¡£
2.4 ÎïÀí¿éphysical extent (PE)
ÎïÀí¾í°´´óСÏàµÈµÄ¡°¿é¡±Îªµ¥Î»´æ´¢£¬¿éµÄ´óСÓë¾í×éÖÐÂß¼¾í¿éµÄ´óСÏàͬ¡£
2.5 Âß¼¿élogical extent (LE)
Âß¼¾í°´¡°¿é¡±Îªµ¥Î»´æ´¢£¬ÔÚÒ»¾í×éÖеÄËùÓÐÂß¼¾íµÄ¿é´óСÊÇÏàͬµÄ¡£
2.6 ×ÜÊö
Àý×Ó£ºÓÐÒ»¸ö¾í×éVG1£¬ËüµÄÎïÀí¿é´óСΪ4MB¡£ÔÚÕâ¸ö¾í×éÖÐΪ2¸öÓ²ÅÌ·ÖÇø£º/dev/hda1Óë/dev/hdb1£¬ËüÃÇ·Ö±ð³ÉΪÎïÀí¾íPV1ÓëPV2¡£ÎïÀí¾í½«°´4MBΪµ¥Î»·Ö¿é£¬ÈçPV1ÓëPV2·Ö±ð¿É·ÖΪ99Óë248¿é¡£ÔÚVG1ÉϽ¨Á¢Âß¼¾í£¬ËüµÄ´óС¿ÉÔÚ1ÖÁ347(99+248)¿éÖ®¼ä¡£µ±½¨Á¢Âß¼¾íʱ£¬»á½¨Á¢Âß¼¿éÓëÎïÀí¿éµÄÒ»Ò»Ó³Éä¹ØÏµ¡£
2.7 Ó³Éäģʽ (linear/striped)
ÔÚ½¨Á¢Âß¼¾íʱ£¬¿ÉÒÔÑ¡ÔñÂß¼¿éÓëÎïÀí¿éÓ³ÉäµÄ²ßÂÔ£º
1.ÏßÐÔÓ³É䣽«°ÑÒ»¶¨·¶Î§µÄÎïÀí¿é°´Ë³Ðò·ÖÅ䏸Âß¼¾í£¬Èç LVµÄLE 1-99Ó³Éäµ½PV1£¬LE 100-347Ó³Éäµ½PV2¡£ 2.½»´íģʽ£½«°ÑÂß¼¿é½»´íÓ³Éäµ½²»Í¬µÄÎïÀí¾íÖУ¬Èç LVµÄLE 1Ó³ÉäΪPV1µÄPE1£¬LE 2Ó³ÉäΪPV2µÄPE1£¬LE 3Ó³ÉäΪPV1µÄPE2...¡£ÕâÖÖ·½Ê½¿ÉÒÔÌá¸ßÂß¼¾íµÄÐÔÄÜ£¬µ«ÊDzÉÓÃÕâÖÖ·½Ê½½¨Á¢µÄÂß¼¾í½«²»ÄÜÔÚËüÃÇËùÔÚµÄÎïÀí¾íÖÐÀ©Õ¹¡£
2.8 Snapshots (¿ìÕÕ)
LVMÌṩÁËÒ»¸ö·Ç³£ºÃµÄÌØÐÔ£ºsnapshots¡£ËüÔÊÐí¹ÜÀíÔ±½¨Á¢Ò»¸ö¿éÉ豸£º¸ÃÉ豸ÊÇÒ»Âß¼¾íÔÚijһʱ¿Ì¶³½áµÄ¾«È·¿½±´¡£Õâ¸öÌØÐÔͨ³£ÓÃÓÚÅú´¦Àí¹ý³Ì(È籸·Ý)ÐèÒª´¦ÀíÂß¼¾í£¬µ«ÓÖ²»ÄÜֹͣϵͳ¡£µ±²Ù×÷Íê³Éʱ£¬snapshotÉ豸¿ÉÒÔ±»ÒƳý¡£Õâ¸öÌØÐÔÒªÇóÔÚ½¨Á¢snapshotÉ豸ʱÂß¼¾í´¦ÓÚÏàÈÝ״̬¡£
3 LVMµÄÒ»°ã²Ù×÷
3.1 ½¨Á¢PV
Ϊ°ÑÒ»¸ö´ÅÅÌ»ò·ÖÇø×÷ΪPV£¬Ê×ÏÈӦʹÓà pvcreate ¶ÔÆä³õʼ»¯£¬Èç¶ÔIDEÓ²ÅÌ/dev/hdb¡£
PV³õʼ»¯ÃüÁîpvcreateµÄÒ»°ãÓ÷¨Îª£º
# pvcreate PV1 [ PV2 ... ]
#ËüµÄ²ÎÊý¿ÉÒÔÊÇÕû¸ö´ÅÅÌ£¬·ÖÇø£¬Ò²¿ÉÒÔÊÇloopÉ豸¡£
lʹÓÃÕû¸ö´ÅÅÌ£º
# pvcreate /dev/hdb
Õ⽫ÔÚ´ÅÅÌÉϽ¨Á¢VGµÄÃèÊö·û¡£
lʹÓôÅÅÌ·ÖÇø£º£¨Ê¹ÓÃfdisk µÄt ÃüÁî°Ñ/dev/hda1µÄ·ÖÇøÀàÐÍÉèΪ0x8e£¬È»ºóÔËÐУ©
# pvcreate /dev/hdb1
3.2 ½¨Á¢VG
vgcreateµÄÒ»°ãÓ÷¨Îª£º
# vgcreate [options] VG_name PV1 [PV2 ...]
#ÆäÖеĿÉÑ¡Ïî°üÀ¨ÉèÖÃVG×î´óÖ§³ÖµÄLVÊý¡¢PE´óС(ȱʡΪ4MB)µÈ¡£
lÔÚʹÓÃpvcreate ½¨Á¢ÁËPVºó£¬¿ÉÒÔÓÃvgcreate ½¨Á¢¾í×飬ÈçÓÐPV1¡¢PV2·Ö±ðÊÇ/dev/hda1Óë/dev/hdb1£¬Ê¹ÓÃ
# vgcreate testvg /dev/hda1 /dev/hdb1
lµ±Ê¹ÓÃdevfsϵͳʱ£¬Ó¦Ê¹ÓÃÉ豸µÄÈ«Ãû¶ø²»ÄÜÊÇSymbol Link£¬Èç¶ÔÉÏÀýӦΪ£º
# vgcreate testvg /dev/ide/host0/bus0/target0/lun0/part1/ /dev/ide/host0/bus0/target1/lun0/part1
3.3 ¼¤»îVG
ÔÚ±»¼¤»î֮ǰ£¬VGÓëLVÊÇÎÞ·¨·ÃÎʵģ¬Õâʱ¿ÉÓÃÃüÁ
# vgchange -a y testvg
¼¤»îËùҪʹÓõľí×é¡£µ±²»ÔÙʹÓÃVGʱ£¬¿ÉÓÃ
# vgchange -a n testvg
ʹ֮²»ÔÙ¿ÉÓá£
3.4 ÒÆ³ýVG
ÔÚÒÆ³ýÒ»¾í×éǰӦȷÈϾí×éÖв»ÔÙÓÐÂß¼¾í£¬Ê×ÏÈÐÝÃß¾í×飺
# vgchange -a n testvg
È»ºó¿ÉÓÃvgremoveÒÆ³ý¸Ã¾í×飺
# vgremove testvg
3.5 ΪVGÔö¼ÓÐÂPV
µ±¾í×é¿Õ¼ä²»×ãʱ£¬¿ÉÒÔ¼ÓÈëеÄÎïÀí¾íÀ´À©´óÈÝÁ¿£¬Õâʱ¿ÉÓÃÃüÁîvgextend£¬Èç
# vgextend testvg /dev/hdc1
ÆäÖÐ/dev/hdc1ÊÇеÄPV£¬µ±È»ÔÚÕâ֮ǰ£¬ËüӦʹÓÃpvcreate³õʼ»¯¡£
3.6 ´ÓVGÒÆ³ýPV
ÔÚÒÆ³ýPV֮ǰ£¬Ó¦È·ÈϸÃPVûÓñ»LVʹÓã¬Õâ¿ÉÓÃÃüÁîpvdisplay£¬È磺
# pvdisplay /dev/hda1
ÈçÕâ¸öPVÈÔÔÚ±»Ê¹Óã¬ÔòÓ¦°ÑÊý¾Ý´«ÒƵ½ÆäËüPVÉÏ¡£ÔÚÈ·ÈÏËüδ±»Ê¹Óú󣬿ÉÓÃÃüÁîvgreduce°ÑËü´ÓVGÖÐɾ³ý£¬È磺
# vgreduce testvg /dev/hda1
3.7 ´´½¨LV
ÔÚ´´½¨Âß¼¾íǰ£¬Ó¦¾ö¶¨LVʹÓÃÄÄЩPV£¬Õâ¿ÉÓÃÃüÁîvgdisplayÓëpvdisplay²é¿´µ±Ç°¾í×éÓëPVµÄʹÓÃÇé¿ö¡£ÔÚÒÑÓеľí×éÉÏ´´½¨Âß¼¾íʹÓÃÃüÁîlvcreate£¬È磺
# lvcreate -L1500 -ntestlv testvg
#½«ÔÚ¾í×étestvgÉϽ¨Á¢Ò»¸ö1500MBµÄÏßÐÔLV£¬ÆäÃüÃûΪtestlv£¬
¶ÔÓ¦µÄ¿éÉ豸Ϊ/dev/testvg/testlv¡£
# lvcreate -i2 -I4 -l100 -nanothertestlv testvg
#½«ÔÚ¾í×étestvgÉϽ¨Á¢ÃûΪanothertestlvµÄLV£¬Æä´óСΪ100LE£¬
²ÉÓý»´í·½Ê½´æ·Å£¬½»´íֵΪ2£¬¿é´óСΪ4KB¡£
Èç¹ûÐèÒªLVʹÓÃÕû¸öVG£¬¿ÉÊ×ÏÈÓÃvgdisplay ²éÕÒ Total PEÖµ£¬È»ºóÔÚÔËÐÐlvcreateʱָ¶¨¡£È磺
# vgdisplay testvg | grep "Total PE"
# lvcreate -l 10230 testvg -n mylv
½«Ê¹Óþí×étestvgµÄÈ«²¿¿Õ¼ä´´½¨Âß¼¾ímylv¡£ÔÚ´´½¨Âß¼¾íºó£¬¾Í¿ÉÔÚÆäÉÏ´´½¨Îļþϵͳ²¢Ê¹ÓÃËü¡£
ÃüÁîlvcreateµÄ³£Ó÷½·¨£º
# lvcreate [options] -n Âß¼¾íÃû ¾í×éÃû [PV1 ... ]
ÆäÖеij£ÓÿÉÑ¡ÏîÓУº
-i Stripes £º²ÉÓý»´í(striped)·½Ê½´´½¨LV£¬ÆäÖÐStripesÖ¸¾í×éÖÐPVµÄÊýÁ¿¡£
-I Stripe_size £º²ÉÓý»´í·½Ê½Ê±²ÉÓõĿé´óС(µ¥Î»ÎªKB)£¬
Stripe_size±ØÐëΪ2µÄÖ¸Êý£º2N £¬N=2,3...9¡£
-l LEs £ºÖ¸¶¨LVµÄÂß¼¿éÊý¡£
-L size £ºÖ¸¶¨LVµÄ´óС£¬Æäºó¿ÉÒÔÓÃK¡¢M¡¢G±íʾKB¡¢MB¡¢GB¡£
-s £º´´½¨Ò»ÒÑ´æÔÚLVµÄsnapshot¾í¡£
-n name £ºÎªLVÖ¸¶¨Ãû³Æ¡£
3.8 ɾ³ýLV
Ϊɾ³ýÒ»¸öÂß¼¾í£¬±ØÐëÊ×ÏÈ´ÓÏµÍ³Ð¶ÔØÆäÉϵÄÎļþϵͳ£¬È»ºó¿ÉÓÃlvremoveɾ³ý£¬È磺
# umount /dev/testvg/testlv
# lvremove /dev/testvg/testlv
lvremove -- do you really want to remove "/dev/testvg/testlv"? [y/n]: y
lvremove -- doing automatic backup of volume group "testvg"
lvremove -- logical volume "/dev/testvg/testlv" successfully removed
3.9 À©Õ¹LV
ΪÂß¼¾íÔö¼ÓÈÝÁ¿¿ÉʹÓÃlvextend£¬¼´¿ÉÒÔÖ¸¶¨ÒªÔö¼ÓµÄ³ß´çÒ²¿ÉÒÔÖ¸¶¨À©ÈݺóµÄ³ß´ç¡£Èç
# lvextend -L12G /dev/testvg/testlv
#½«À©´óÂß¼¾ítestlvµÄÈÝÁ¿Îª12GB¡£
# lvextend -L+1G /dev/testvg/testlv
#½«ÎªLV testlvÔÙÔö´óÈÝÁ¿1GBÖÁ13GB¡£
ΪLVÀ©ÈݵÄÒ»¸öǰÌáÊÇ£ºLVËùÔÚµÄVGÓÐ×ã¹»µÄ¿ÕÏд洢¿Õ¼ä¿ÉÓá£
ÔÚΪLVÀ©ÈÝÖ®ºó£¬Ó¦Í¬Ê±ÎªLVÖ®ÉϵÄÎļþϵͳÀ©ÈÝ£¬Ê¹¶þÕßÏàÆ¥Åä¡£¶Ô²»Í¬µÄÎļþϵͳÓÐÏà¶ÔÓ¦µÄÀ©ÈÝ·½·¨¡£
3.9.1 ext2/ext3
³ý·ÇÄÚºËÒÑÓÐext2online ²¹¶¡£¬·ñÔòÔڸıäext2/ext3ÎļþϵͳµÄ´óÐ¡Ê±Ó¦Ð¶ÔØËü£º
# umount /dev/testvg/testlv
# resize2fs /dev/testvg/testlv
# mount /dev/testvg/testlv /home
ÕâÀï¼ÙÉètestlv°²×°µãΪ/home¡£ÔÚes2fsprogs-1.19»òÒÔÉϰ汾Öаüº¬resize2fsÃüÁî¡£
ÔÚLVM·¢ÐаüÖÐÓÐÒ»¸ö³ÆÎªe2fsadmµÄ¹¤¾ß£¬Ëüͬʱ°üº¬ÁËlvextendÓëresize2fsµÄ¹¦ÄÜ£¬È磺
# e2fsadm -L+1G /dev/testvg/testlv
µÈ¼ÛÓÚÏÂÃæÁ½ÌõÃüÁ
# lvextend -L+1G /dev/testvg/testlv
# resize2fs /dev/testvg/testlv
µ«Óû§ÈÔÐèÊ×ÏÈÐ¶ÔØÎļþϵͳ¡£
3.9.2 reiserfs
Óëext2²»Í¬£¬Reiserfs²»±ØÐ¶ÔØÎļþϵͳ£¬È磺
# resize_reiserfs -f /dev/testvg/testvl
3.9.3 xfs
SGI XFSÎļþϵͳ±ØÐëÔÚ°²×°µÄÇé¿öϲſɸıä´óС£¬²¢ÇÒҪʹÓð²×°µã¶ø²»ÊÇ¿éÉ豸£¬È磺
# xfs_growfs /home
3.10 ËõСLV
Âß¼¾í¿ÉÀ©Õ¹Í¬ÑùÒ²¿ÉËõС£¬µ«Ó¦ÔÚËõСLV֮ǰÊ×ÏȼõСÎļþϵͳ£¬·ñÔò½«¿ÉÄܵ¼ÖÂÊý¾Ý¶ªÊ§¡£
3.10.1 ext2/ext3
¿ÉÒÔʹÓÃLVMµÄ¹¤¾ße2fsadm²Ù×÷£¬È磺
# umount /home
# e2fsadm -L-1G /dev/testvg/testvl
# mount /home
Èç¹û²ÉÓÃresize2fs£¬¾Í±ØÐëÖªµÀËõÉÙºó¾íµÄ¿éÊý£º
# umount /home
# resize2fs /dev/testvg/testvl 524288
# lvreduce -L-1G /dev/testvg/testvl
# mount /home
3.10.2 reiserfs
ÔÚËõСreiserfsʱ£¬Ó¦Ê×ÏÈÐ¶ÔØËü£¬È磺
# umount /home
# resize_reiserfs -s-1G /dev/testvg/testvl
# lvreduce -L-1G /dev/testvg/testvl
# mount -treiserfs /dev/testvg/testvl /home
3.10.3 xfs
ÎÞ·¨ÊµÏÖ¡£
3.11 ÔÚPV¼ä×ªÒÆÊý¾Ý
ÈôÒª°ÑÒ»¸öPV´ÓVGÖÐÒÆ³ý£¬Ó¦Ê×ÏÈ°ÑÆäÉÏËùÓлPEÖеÄÊý¾Ý×ªÒÆµ½ÆäËüPVÉÏ£¬¶øÐµÄPV±ØÐëÊDZ¾VGµÄÒ»²¿·Ö£¬ÓÐ×ã¹»µÄ¿Õ¼ä¡£ÈçÒª°ÑPV1:/dev/hda1ÉϵÄÊý¾ÝÒÆµ½PV2:/dev/sda1ÉÏ¿ÉÓÃÃüÁ
# pvmove /dev/hdb1 /dev/sdg1
Èç¹ûÔÚ¸ÃPVÖ®ÉϵÄLV²ÉÓý»´í·½Ê½´æ·Å£¬ÔòÕâ¸ö×ªÒÆ¹ý³Ì²»Äܱ»´ò¶Ï¡£
½¨ÒéÔÚ×ªÒÆÊý¾Ý֮ǰ±¸·ÝLVÖеÄÊý¾Ý¡£
3.12 ϵͳÆô¶¯£¯¹Ø±Õ
ΪʹϵͳÆô¶¯Ê±¿É×Ô¶¯¼¤»î²¢Ê¹ÓÃLVM£¬¿É½«ÒÔϼ¸ÐÐÌí¼Óµ½Æô¶¯ rc ½Å±¾ÖУº
# /sbin/vgscan
# /sbin/vgchange -a y
ÕâЩÐн«ä¯ÀÀËùÓпÉÓõľí×é²¢¼¤»îËüÃÇ¡£Òª×¢ÒâµÄÊÇ£¬ËüÃÇÓ¦ÔÚ°²×°¾í×éÉϵÄÎļþϵͳ²Ù×÷֮ǰ±»Ö´ÐУ¬·ñÔò½«ÎÞ·¨Õý³£°²×°Îļþϵͳ¡£
ÔÚϵͳ¹Ø»úʱ£¬Òª¹Ø±ÕLVM£¬Õâ¿É½«ÒÔÏÂÕâÐÐÌí¼Óµ½¹Ø»ú rc ½Å±¾ÖУ¬²¢È·±£ËüÔÚжװÁËËùÓÐÎļþϵͳºóÖ´ÐУº
# /sbin/vgchange -a n
4 ´ÅÅÌ·ÖÇøÎÊÌâ
4.1 Ò»¸ö´ÅÅÌÉϵĶà¸ö·ÖÇø
LVMÔÊÐíPV½¨Á¢ÔÚ¼¸ºõËùÓпéÉ豸ÉÏ£¬ÈçÕû¸öÓ²ÅÌ¡¢Ó²ÅÌ·ÖÇø¡¢Soft RAID£º
# pvcreate /dev/sda1
# pvcreate /dev/sdf
# pvcreate /dev/hda8
# pvcreate /dev/hda6
# pvcreate /dev/md1
ËùÒÔÔÚÒ»¿éÓ²ÅÌÉÏ¿ÉÒÔÓжà¸öPV·ÖÇø£¬µ«Ò»°ã½¨ÒéÒ»¿éÓ²ÅÌÉÏÖ»ÓÐÒ»¸öPV£º±ãÓÚ¹ÜÀí£¬Ò×ÓÚ´¦Àí´íÎó¡£±ÜÃâ½»´í·½Ê½ÖÐÐÔÄÜϽµ¡£LVM²»Äܱæ±ðÁ½¸öPVÊÇ·ñÔÚͬһӲÅÌÉÏ£¬¹Êµ±²ÉÓý»´í·½Ê½Ê±£¬»áµ¼ÖÂÐÔÄܸü²î¡£µ«ÔÚijЩÇé¿öÏ¿ɲÉÓãº1°ÑÒÑ´æÔÚµÄϵͳºÏ²¢µ½LVMÖС£ÔÚÒ»¸öÖ»ÓÐÉÙÊýÓ²Å̵ÄϵͳÖУ¬×ª»»ÎªLVMʱÐèÔÚÔÚ¸÷·ÖÇøÖ®¼ä×ªÒÆÊý¾Ý¡£2°ÑÒ»¸ö´óÓ²ÅÌ·Ö¸ø²»Í¬µÄVGʹÓá£
4.2 Sun disk labels
½öÔÚSUNµÄSPARCϵͳÖÐÓдËÎÊÌâ¡£
5 ½¨Á¢LVMÓÃÀý
ÔÚ±¾½ÚÖУ¬½«ÔÚ3¿éSCSIÓ²ÅÌ£º/dev/sda£¬/dev/sdb£¬/dev/sdcÉϰ´²½½¨Á¢LVM¡£
5.1 ×¼±¸·ÖÇø
Ê×ÏÈÒª×öµÄÊdzõʼ»¯Ó²ÅÌ£¬½¨Á¢PV£»Õ⽫»áɾ³ýÓ²ÅÌÉϵÄÔÓÐÊý¾Ý¡£ÔÚ´ËÓÃÕû¸öÓ²ÅÌΪPV£º
# pvcreate /dev/sda
# pvcreate /dev/sdb
# pvcreate /dev/sdc
pvcreateÔÚÿ¸öÓ²ÅÌµÄÆðʼ¶Ë½¨Á¢¾í×éÃèÊöÇø¡£
5.2 ´´½¨¾í×é
ÀûÓÃÉÏÃæÈý¸öPV½¨Á¢¾í×飺
# vgcreate test_vg /dev/sda /dev/sdb /dev/sdc/
È»ºó¿ÉÓÃvgdisplay ²é¿´£¯ÑéÖ¤¾í×éµÄÐÅÏ¢£º
# vgdisplay
ÆäÖÐ×îÖØÒªµÄǰÈýÌõÒªÕýÈ·£¬ÇÒVS sizeÊÇÒÔÉÏÈý¸öÓ²ÅÌÈÝÁ¿Ö®ºÍ¡£
5.3 ½¨Á¢LV
ÔÚÈ·¶¨¾í×étest_vgÕýÈ·ºó£¬¾Í¿ÉÔÚÆäÉÏ´´½¨LV¡£LVµÄ´óС¿ÉÔÚVG´óС·¶Î§ÄÚÈÎÒâÑ¡Ôñ£¬ÈçͬÔÚÓ²ÅÌÉÏ·ÖÇø¡£
5.3.1 ½¨Á¢ÏßÐÔ·½Ê½LV
ÔÚtest_vgÉϽ¨Á¢Ò»¸ö´óСΪ1GBµÄÏßÐÔ·½Ê½LV£º
# lvcreate -L1G -ntest_lv test_vg
5.3.2 ½¨Á¢½»´í·½Ê½LV
ÔÚtest_vgÉϽ¨Á¢Ò»¸ö´óСΪ1GBµÄ½»´í·½Ê½LV£¬½»´í²ÎÊýΪ4KB£º
# lvcreate -i3 -I4 -L1G -ntest_lv test_vg
Èç¹ûʹÓà -i2²ÎÊý£¬ÔòLV½«½öʹÓÃtest_vgÖеÄÁ½¿éÓ²ÅÌ¡£
5.4 ½¨Á¢Îļþϵͳ
ÔÚLV test_lv´´½¨ºó£¬¾Í¿ÉÔÚÆäÉϽ¨Á¢Îļþϵͳ£¬
È磬ext2/ext3ϵͳ£º
# mke2fs /dev/test_vg/test_lv
È磬reiserfs£º
# mkreiserfs /dev/test_vg/test_lv
5.5 ²âÊÔÎļþϵͳ
°²×°LV£º
# mount /dev/test_vg/test_lv /mnt
# df
Ôò¿ÉÒÔͨ¹ý/mnt·ÃÎÊLV¡£
6 ʹÓÃsnapshot ×ö±¸·Ý
ÀýÈçÎÒÃÇÒª¶Ô¾í×é"test_vg"ÿÍí½øÐÐÊý¾Ý¿â±¸·Ý£¬¾ÍÒª²ÉÓÃsnapshotÀàÐ͵ľí×é¡£ÕâÖÖ¾í×éÊÇÆäËü¾í×éµÄÒ»¸öÖ»¶Á¿½±´£¬Ëüº¬ÓÐÔÚ´´½¨snapshot¾í×éʱԾí×éµÄËùÓÐÊý¾Ý£¬ÕâÒâζÄã¿ÉÒÔ±¸·ÝÕâ¸ö¾í×é¶ø²»Óõ£ÐÄÔÚ±¸·Ý¹ý³ÌÖÐÊý¾Ý»á¸Ä±ä£¬Ò²²»ÐèÒªÔÝʱ¹Ø±ÕÊý¾Ý¿â¾íÒÔ±¸·Ý¡£
6.1 ½¨Á¢snapshot¾í
Ò»¸ösnapshot¾í¿É´ó¿ÉС£¬µ«±ØÐëÓÐ×ã¹»µÄ¿Õ¼ä´æ·ÅËùÓÐÔÚ±¾snapshot¾íÉú´æÆÚ¼ä¸Ä±äµÄÊý¾Ý£¬Ò»°ã×î´óÒªÇóÊÇÔ¾í×éµÄ1.1±¶¡£Èç¿Õ¼ä²»¹»£¬snapshot¾í½«²»ÄÜʹÓá£
# lvcreate -L592M -s -n dbbackup /dev/test_vg/databases
6.2 °²×°snapshot¾í
ÏÖÔÚ¿ÉÒÔ°²×°¸Ã¾í£º
# mkdir /mnt/test_vg/dbbackup
# mount /dev/test_vg/dbbackup /mnt/test_vg/dbbackup
´ÓÉÏÃæ¿ÉÒÔ¿´³ö£¬snapshot¾íÊÇÖ»¶ÁµÄ¡£
µ±Ê¹ÓÃXFSÎļþϵͳʱ£¬mountÃüÁîҪʹÓÃnouuidÓënorecoveryÑ¡Ï
# mount /dev/test_vg/dbbackup /mnt/test_vg/dbbackup -o nouuid,norecovery,ro
6.3 ±¸·ÝÊý¾Ý
Èç²ÉÓÃtarÏò´Å´ø±¸·Ý£º
# tar -cf /dev/rmt0 /mnt/test_vg/dbbackup
6.4 ɾ³ýsnapshot¾í
ÔÚÍê³É±¸·Ýºó£¬¾Í¿ÉÐ¶ÔØ²¢É¾³ýsnapshot¾í¡£
# umount /mnt/test_vg/dbbackup
# lvremove /dev/test_vg/dbbackup


Frthred ÓÚ 2011-06-04 08:52:26·¢±í:
˳·ѧѧ
pl_014 ÓÚ 2011-06-04 07:10:35·¢±í:
Ïȶ¥Ò»Ï£¬²»¹ýÔÚLVMµÄ³õÆÚ£¬»¹ºÜ²»Îȶ¨£¬µ±Ê±»ù±¾ÉÏÓÃlinux°²×°ÅÌ×Ô´øµÄ·ÖÇø¹¤¾ß·Ö³öÁËLVM¾í×éºó£¬¾ÍÁ¬×Ô¼ºÒ²²»ÈÏÁË£¬²»ÖªµÀÏÖÔÚÔõÑùÁË£¬¸Ð¾õ»¹ÊDz»·ÅÐÄ¡£
whatot ÓÚ 2011-06-04 01:25:24·¢±í:
ÕýÏëʹÓÃÒ»ÏÂÕâ¸ölvm£¬¿´gentoo»òÊÇarchÎĵµÊ±·¢ÏÖÁË£¬¸Ð¾õºÜ²»´í¡£¾Í¿ÉÒÔ±ÜÃâ°ÑÓ²ÅÌ·Ö³ÉÁãÁãËéËéµÄÁË