互動式Shell指令碼實現Linux物理卷管理

來源:互聯網
上載者:User



# Linux LVM Tool完整版本:   http://xin23.blog.51cto.com/1827266/1198836(update 2013.5.13)


# 指令碼僅供交流學習使用!

# 指令碼目前的版本為1.0.實現了物理卷的建立,移除,更改(啟用/禁用分配),掃描,查看功能.# 後續會補齊卷組和邏輯卷的管理,整合成一個Linux LVM TOOL.類似於AIX的SMIT.雖然,它只能管理LVM.# 指令碼已在Red Hat Enterprise Linux 5.4 64bit上測試通過.原則上適用於RHEL 5和RHEL 6.# 歡迎提出改進意見.# 直接複製請注意標點符號.也可通過微盤下載檔案,避免複製引起的問題:http://vdisk.weibo.com/s/zKW6M#!/bin/bash# Version 1.0# AUTHOR:Xin23 http://weibo.com/231988PV(){NextLine(){        echo ' '}Split(){        echo '-----------------------------------------------------------------------'}EchoTitle(){        echo "--------$Title-----------------------------------------"}ShowPVFirstMenu(){        echo '        Physical Volumn Main Menu        Input Number To Choose!        Create Physical Volumn ...... 1        Remove Physical Volumn ...... 2        Change Physical Volumn ...... 3        Show   Physical Volumn ...... 4        Scan   Physical Volumn ...... 5        Exit                   ...... 6'        NextLine}GetChoice(){        read -p '       Input Your Choice: ' Var        NextLine}ConfirmOperate(){        NextLine        echo "  Continue               ...... y        Return                 ...... n"        NextLine        GetChoice        NextLine        Run}Run(){        if   [ $Var == y ]             then $Parameter $Disk        elif [ $Var == n ]             then Split                  PV        else ConfirmOperate        fi}ChooseDisk(){        read -p "       Please Choose Disk:    (Example: /dev/sdc)       "  Disk        NextLine}PVChange(){        echo '  Which Operate You Want To do ?  '        NextLine        echo '        ENABLE  Allocatable    ...... y        DISABLE Allocatable    ...... n'        NextLine        GetChoice}CheckPVChange(){        if   [ $Var == y ]             then Parameter='pvchange -x y'        elif [ $Var == n ]             then Parameter='pvchange -x n'        else             PVChange        fi}PVShow(){        echo '  Which Physical Volumn You Want To Show ?        '        NextLine        echo '          All    Physical Volumn ...... 1        Single Physical Volumn ...... 2'        NextLine        GetChoice}CheckPVShow(){        if   [ $Var -eq 1 ]             then pvdisplay        elif [ $Var -eq 2 ]             then pvdisplay $Disk        fi}TestPVShow(){        if   [ $Var -eq 1 ]             then Disk=All        elif [ $Var -eq 2 ]             then EchoTitle                  NextLine                  ChooseDisk        fi}ShowPVFirstMenuGetChoicecase $Var in        "1")                Title='Create Physical Volumn'                Parameter=pvcreate                EchoTitle                NextLine                ChooseDisk                echo "  Disk $Disk Will Be Convert To Physical Volumn"                ConfirmOperate                Status=0        ;;        "2")                Title='Remove Physical Volumn'                EchoTitle                Parameter=pvremove                NextLine                ChooseDisk                echo "  Disk $Disk Will Be Remove From Physical Volumn"                ConfirmOperate                Status=0        ;;        "3")                Title='Change Physical Volumn'                EchoTitle                NextLine                PVChange                CheckPVChange                NextLine                ChooseDisk                echo "  Physical Volumn $Disk Will Be Change"                ConfirmOperate                Status=0        ;;        "4")                Title='Show   Physical Volumn'                EchoTitle                NextLine                PVShow                NextLine                TestPVShow                echo "  Physical Volumn $Disk Will Be Show"                NextLine                CheckPVShow                Status=0        ;;        "5")                Title='Scan   Physical Volumn'                EchoTitle                NextLine                pvscan                Status=0        ;;        "6")                exit 0        ;;         * )                echo '  Input Error,Retype!'                PV        ;;esacNeedContinue(){        if [ $Status -eq 0 ]           then NextLine                Split                PV        fi}NeedContinue}PV

本文出自 “Xin23的流水賬” 部落格,請務必保留此出處http://xin23.blog.51cto.com/1827266/1192046

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.