• 磁盘管理


    磁盘管理,这是运维的基础了,今天有人问到这个,那就说一下(因为给钱了),之前写过一个批量格式化磁盘的脚本:https://www.cnblogs.com/daxionglaiba/p/7512054.html 密码(123456)。这里不做详解。只是简单介绍一下我自己的认识,和大家分享。

    常用命令

    fdisk 、parted 、df 、du 、mount/umount 、mkfs 等等 

    不常用命令

    fsck 、blkid、quota 、quotacheck 等等

    脚本需求

    这里也没有什么可以说的。写一下LVM吧。这里也是已脚本的方式(因为给钱了,第一次写这样的脚本,个人感觉比较傻。)。具体需求如下。

    脚本内容

    #!/bin/bash
    #  -------------+---------------------------------
    # * Filename    :       disk_manager.sh
    # * Date        :       2020-08-24 
    # * Author      :       wangjianxiong           
    # * Description :                       
    #  -------------+---------------------------------
    
    MYPATH=$(dirname $0)
    
    disk_list()
    {
        fdisk -l | grep ^"Disk /dev" | grep -v mapper
    }
    
    umount_disk()
    {
        fdisk -l | grep ^"Disk /dev" | grep -v mapper |  awk '{print $2}' | tr -d [:] | sort -k2n | awk '{if ($0!=line) print;line=$0}' > $MYPATH/../conf/all_list
        df -h | awk '{print $1}' | grep "/dev/" | grep -v mapper | tr -d [0-9] | sort -k2n | awk '{if ($0!=line) print;line=$0}' > $MYPATH/../conf/mount_list
        pvdisplay | awk '/PV Name/ {print $3}' | tr -d "0-9" > $MYPATH/../conf/vg_disk
        
        cat $MYPATH/../conf/mount_list $MYPATH/../conf/vg_disk | sort | uniq > $MYPATH/../conf/undisk_list
    
        for i in `cat $MYPATH/../conf/undisk_list`
        do
            sed -i 's#'$i'#EXCLUSIVE#;/EXCLUSIVE/d' $MYPATH/../conf/all_list
        done
    }
    
    df_disk()
    {
        df -h | grep -v tmpfs
    }
    
    kr_vg(){
    echo "卷组列表:"
    vgdisplay | awk '/VG Name/ {print $3}'
    read -p "请输入想要扩容的 [ vg ] : " vgname
    echo "未挂载磁盘列表:"
    umount_disk
    read -p "请输入[ 磁盘 | 分区 ] : " dev_name
    fdisk $dev_name<<EOF
    n
    p
    1
    
    
    t
    8e
    w
    EOF
    PV_NAME=`fdisk -l $dev_name | grep ^$dev_name | awk '{print $1}'`
    VG_NAME=`vgdisplay | awk '/VG Name/ {print $3}'`
    LVS_NAME=`lvdisplay | awk '/LV Name/ {print $3}'`
    pvcreate $PV_NAME
    vgextend $vgname $PV_NAME
    }
    
    kr_lv()
    {
    echo "逻辑卷列表: "
    lvdisplay | awk '/LV Path/ {print $3}'
    read -p "请选择需要扩容的逻辑卷 [ LV ]: " kr_lv
    
    echo "最多扩容: "
    vgs | awk '{print $NF}'
    read -p "请输入需要给逻辑卷扩容多少G :" num_lv
    
    lvextend -L +${num_lv}G $kr_lv
    resize2fs $kr_lv
    }
    
    lvm_manager()
    {
    while true
    do
        cat $MYPATH/../file/lvm_info
        read -p "请输入需要的操作的序号: " n
        echo -e
        case $n in
           1) vgdisplay
              echo "==========================================="
              vgs
              echo "==========================================="
              ;;
           2) pvdisplay
              echo "=============================================="
              pvs
              echo "=============================================="
              ;;
           3) lvdisplay
              echo "===================================================================================="
              lvs
              echo "===================================================================================="
              ;;
           4) kr_vg
              ;;
           5) kr_lv
              ;;
           6) create_vg
              ;;
           7) break
              ;;
           *) echo "error,again"
              ;;
        esac
    done
    }
    
    while true
    do
        cat $MYPATH/../file/main_menu
        read -p "请输入需要的操作的序号: " n
        echo -e
        case $n in
           1) disk_list
              ;;
           2) umount_disk
              ;;
           3) df_disk
              ;;
           4) lvm_manager
              ;;
           5) exit
              ;;
           *) echo "error,again"
              ;;
        esac
    done
    View Code
  • 相关阅读:
    Task Schedule
    Number Game
    CDQ分治
    Friends and Subsequences
    HDU5266 pog loves szh III
    P1593 因子和
    求一个数的欧拉函数的优化
    Grandpa's Estate POJ
    LightOJ
    Paint The Wall HDU
  • 原文地址:https://www.cnblogs.com/daxiong1314/p/13572030.html
Copyright © 2020-2023  润新知