V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Yc1992
V2EX  ›  Linux

有没有自动格盘挂载的开源 shell 脚本啊

  •  
  •   Yc1992 ·
    bufrr · 2020-09-16 16:29:54 +08:00 · 2081 次点击
    这是一个创建于 1530 天前的主题,其中的信息可能已经有所发展或是发生改变。
    能够完成 parted+mkfs+更新 /etc/fstab+mount
    主要获取盘符有点麻烦,没有思路
    12 条回复    2020-09-17 20:11:38 +08:00
    knightdf
        1
    knightdf  
       2020-09-16 17:08:56 +08:00
    写过类似的,fdisk 格盘,获取盘符不就是 lsblk -xxx 么,然后 mkfs+mount 就行了
    defunct9
        2
    defunct9  
       2020-09-16 17:28:49 +08:00   ❤️ 3
    疯了吧,自动弄这个,万一挂错了,硬盘上的东西就全丢了
    gaorenhua
        3
    gaorenhua  
       2020-09-16 17:40:39 +08:00
    auto_fdisk.sh
    github 搜,可以参考这个脚本,很稳。
    Sherlocker
        4
    Sherlocker  
       2020-09-16 17:42:36 +08:00
    自己写一个几分钟就搞定了
    sunnyadamm
        5
    sunnyadamm  
       2020-09-16 17:45:16 +08:00
    以前平台写的,凑活用的,盘符那一块你自己处理下
    Vg_Name=datavg
    Lv_Name=datalv
    Lv_Path=/dev/$Vg_Name/$Lv_Name
    Mount_Point=/data

    let ms=`fdisk -l| grep '/dev/vdb' | awk '{print $3}'|awk -F. '{print $1}'`
    if [ $ms -gt 2048 ]
    then
    parted -s /dev/vdb mklabel gpt
    parted -s /dev/vdb mkpart primary 1 100%
    fi

    fdisk /dev/vdb << EOF
    n
    p
    1


    w
    EOF
    echo 'Disk /dev/vdb sucessful'
    pvcreate /dev/vdb1>/dev/null
    vgcreate $Vg_Name /dev/vdb1>/dev/null
    lvcreate -l `vgdisplay datavg|grep 'Free'|cut -d ' ' -f14` -n $Lv_Name /dev/$Vg_Name>/dev/null
    [ `uname -r |cut -d. -f1` -le 2 ] && mkfs.ext4 $Lv_Path>/dev/null || mkfs.xfs $Lv_Path>/dev/null
    mkdir $Mount_Point
    [ `uname -r |cut -d. -f1` -le 2 ] && echo "$Lv_Path $Mount_Point ext4 defaults 0 0">>/etc/fstab
    [ `uname -r |cut -d. -f1` -ge 3 ] && echo "$Lv_Path $Mount_Point xfs defaults 0 0">>/etc/fstab
    mount -a
    wandehul
        6
    wandehul  
       2020-09-16 17:51:06 +08:00
    你这心得多大敢这么搞
    Yc1992
        7
    Yc1992  
    OP
       2020-09-16 18:07:26 +08:00
    @defunct9 场景是新机器挂盘
    lucascn
        8
    lucascn  
       2020-09-16 18:29:40 +08:00
    第一步
    parted /dev/sdb mklabel gpt mkpart primary 0% 100%
    第二步
    mkfs.ext4 -O ^has_journal /dev/sdb1
    第三步
    blkid (获取硬盘的 UUID)
    第四步
    vi /etc/fstab 加入
    UUID='XXXXXXXX' /盘挂载的目录 ext4 defaults,_netdev 0 0
    第五步
    reboot
    lucascn
        9
    lucascn  
       2020-09-16 18:30:15 +08:00   ❤️ 1
    不要用盘符,用 UUID,就不会出错
    Yc1992
        10
    Yc1992  
    OP
       2020-09-16 18:36:08 +08:00
    @knightdf
    @gaorenhua
    @sunnyadamm
    @lucascn
    感谢,我看一下~
    nullboy
        11
    nullboy  
       2020-09-16 18:37:00 +08:00 via Android
    人有多大胆,地有多大产
    ungrown
        12
    ungrown  
       2020-09-17 20:11:38 +08:00
    上面有人说了用 UUID,很对,这样你就不用纠结盘符字母了
    甚至 fstab 都可以固化了
    然后就是几个固化的文件和一个固化的脚本就完事了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1578 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:47 · PVG 00:47 · LAX 08:47 · JFK 11:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.