Disk_LVM_Partition.sh 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. #!/bin/bash
  2. echo "------------------------------------------------------------------------------------------------------------------------------------------------------"
  3. echo -e "\033[33m LVM DISK Auto Partition Tools Version: 5.2.0 (20220706) \033[0m | Technical support provided by [ https://www.cxthhhhh.com ] "
  4. echo "------------------------------------------------------------------------------------------------------------------------------------------------------"
  5. echo -e "\033[33m 8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 \033[0m"
  6. echo -e "\033[33m 8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 \033[0m"
  7. echo -e "\033[33m 88888888888888888888888 8888888 888888 88 8888888 88888888 88888 8888 888 888 888888888888888888888888888 \033[0m"
  8. echo -e "\033[33m 88888888888888888888888 88888888 888888 888 888888 88888888 88888 888 888 888888888 88 88888888888888888888888888888 \033[0m"
  9. echo -e "\033[33m 88888888888888888888888 888888888 8888 8888 8 8888 8 88888888 8888888 888 888 88888888 8 888888888888888888888888888888 \033[0m"
  10. echo -e "\033[33m 88888888888888888888888 888888888 88 88888 88 88 88 88888888 8888888 888 88888 8888 8888888888888888888888888888888 \033[0m"
  11. echo -e "\033[33m 88888888888888888888888 8888888888 88 88888 888 8 888 88888888 888888 888 888888888 88 8 88888888888888888888888888888 \033[0m"
  12. echo -e "\033[33m 88888888888888888888888 88888888888 888888 888 888 88888888 88888 8888 8888888888 88 88 8888888888888888888888888888 \033[0m"
  13. echo -e "\033[33m 88888888888888888888888 888888 8888888 8888 8888 88888888 888888 888 888 8888 88888888888888888888888888 \033[0m"
  14. echo -e "\033[33m 8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 \033[0m"
  15. echo -e "\033[33m 8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 \033[0m"
  16. echo -e "\033[33m 88888888 888888888888888888888888888888888888888888888888 88888888888888888888888888888888888 88888888888 88888888888888888888888888888 \033[0m"
  17. echo -e "\033[33m 8888888 888888888888888888888 88888888888888888888888 888888888888888888888888 88888 8888 88888 88888888888888888888888888888 \033[0m"
  18. echo -e "\033[33m 888888 8 88888888888888888888 88888888888888888888888 8888 88888888888888888888888 888888888888 8888888888888888888888888888888888888 \033[0m"
  19. echo -e "\033[33m 88888 88 88888 88888 88 888 88888888 8888 88 8888 8 88 88 88 8888 8888 88 \033[0m"
  20. echo -e "\033[33m 8888 8888 8888 88888 8888 8888 88888 8888888 888888888 888 88888 88888 8888 88888 888 88888 888 8888 88 \033[0m"
  21. echo -e "\033[33m 888 888 88888 8888 8888 88888 8888888 8888888888 888 888888 88888 8888 88888 88 88888 888 8888 88 \033[0m"
  22. echo -e "\033[33m 888 888888 88 888 8888 8888 88888 88888888 888888888 8888 888 888888 8888 8888 88888 888 88888 888 8888 88 \033[0m"
  23. echo -e "\033[33m 88 8888888 888 8888 888 888888888 888888888 888 8888888 88 88888 88 8888 8888 8888 88 \033[0m"
  24. echo -e "\033[33m 8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 \033[0m"
  25. echo "------------------------------------------------------------------------------------------------------------------------------------------------------"
  26. echo -e "\033[33m LVM DISK Auto Partition Tools Version: 5.2.0 (20220706) \033[0m | Technical support provided by [ https://www.cxthhhhh.com ] "
  27. echo -e " [ Supported by https://github.com/MeowLove ] | [ Supported by https://www.caoxiaotian.com ] "
  28. echo "------------------------------------------------------------------------------------------------------------------------------------------------------"
  29. echo "Analyze Disk type (Virtual/Physical)......"
  30. sleep 3
  31. # 获取磁盘,为保证数据安全,以下仅对第一个磁盘,通常为数据盘。进行操作。
  32. # (如需修改其他磁盘,请手动修改本分区程序)
  33. DISK=`ls /dev/*da | head -1`
  34. DISK2=`ls /dev/*db | head -1`
  35. DISK3=`ls /dev/*dc | head -1`
  36. # 设置新的自动拓展分区ID(默认值)
  37. PART=$DISK"0"
  38. # 获取VG
  39. VGNAME=`lvdisplay | grep "VG Name" | awk ' ''{print $3}'`
  40. # 获取LV
  41. LVNAME=`lvdisplay | grep "LV Name" | awk ' ''{print $3}'`
  42. # 判断MBR还是GPT
  43. CXTDTYPE=`fdisk -l | grep -o gpt | head -1`
  44. if [ $CXTDTYPE == "gpt" ] || [ $CXTDTYPE == "GPT" ];then
  45. # 创新新的GPT分区为LVM
  46. echo "(GPT) Creating new partition..."
  47. PART=$DISK"4"
  48. echo "n
  49. 4
  50. t
  51. 4
  52. lvm
  53. w
  54. " | fdisk $DISK
  55. # 新的GPT分区为LVM创建完毕
  56. else
  57. # 创新新的MBR分区为LVM
  58. echo "(MBR) Creating new partition..."
  59. PART=$DISK"3"
  60. echo "n
  61. p
  62. 3
  63. t
  64. 3
  65. 8e
  66. w
  67. " | fdisk $DISK
  68. # 新的MBR分区为LVM创建完毕
  69. fi
  70. # 等待磁盘响应
  71. sleep 10s
  72. # 同步磁盘
  73. echo "Syncing disk..."
  74. partprobe
  75. sleep 20s
  76. # 创建PV
  77. echo "Creating PV..."
  78. pvcreate $PART
  79. sleep 10s
  80. # 拓展VG
  81. echo "Extending VG..."
  82. vgextend $VGNAME $PART
  83. sleep 10s
  84. # 拓展LV
  85. echo "Extending LV..."
  86. lvextend -l +100%FREE /dev/mapper/$VGNAME-$LVNAME
  87. sleep 10s
  88. # 刷新卷组大小
  89. echo "Resizing volume..."
  90. resize2fs -p /dev/mapper/$VGNAME-$LVNAME
  91. sleep 6s
  92. echo "Done! Please restart your server."