Linux批量新建分区

  • 手动创建和删除分区
  • 批量创建和删除分区

手动创建和删除分区

现有一块新添加的磁盘sdc,手动创建分区并创建PV、VG的流程如下:

[root@mysql-node1 ~]# fdisk /dev/sdc
Welcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xafde06d0.Command (m for help): n   #表示新建一个分区
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p):   #回车,默认建立一个主分区
Using default response p
Partition number (1-4, default 1):   #回车,默认分区编号
First sector (2048-20971519, default 2048):   #回车,默认起始位置
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +5G   #根据需要选择大小,默认会使用剩余的全部磁盘空间来创建分区
Partition 1 of type Linux and of size 5 GiB is setCommand (m for help): w   #保存修改
The partition table has been altered!Calling ioctl() to re-read partition table.
Syncing disks.
[root@mysql-node1 ~]#
[root@mysql-node1 ~]# lsblk
NAME              MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                 8:0    0   20G  0 disk
├─sda1              8:1    0    1G  0 part /boot
└─sda2              8:2    0   19G  0 part├─centos-root   253:0    0   17G  0 lvm  /└─centos-swap   253:1    0    2G  0 lvm  [SWAP]
sdb                 8:16   0   20G  0 disk
└─rootvg-lv_mysql 253:2    0   20G  0 lvm  /mysql
sdc                 8:32   0   10G  0 disk
└─sdc1              8:33   0    5G  0 part
sr0                11:0    1  4.4G  0 rom
[root@mysql-node1 ~]#
[root@mysql-node1 ~]# pvcreate /dev/sdc1   #利用新建分区创建PVPhysical volume "/dev/sdc1" successfully created.
[root@mysql-node1 ~]# pvsPV         VG     Fmt  Attr PSize   PFree/dev/sda2  centos lvm2 a--  <19.00g    0/dev/sdb   rootvg lvm2 a--  <20.00g    0/dev/sdc1         lvm2 ---    5.00g 5.00g
[root@mysql-node1 ~]# vgsVG     #PV #LV #SN Attr   VSize   VFreecentos   1   2   0 wz--n- <19.00g    0rootvg   1   1   0 wz--n- <20.00g    0
[root@mysql-node1 ~]# vgextend rootvg /dev/sdc1   #利用新建PV扩容VGVolume group "rootvg" successfully extended
[root@mysql-node1 ~]# vgsVG     #PV #LV #SN Attr   VSize   VFreecentos   1   2   0 wz--n- <19.00g     0rootvg   2   1   0 wz--n-  24.99g <5.00g

手动移除VG、PV和分区的流程如下(移除VG和分区有风险,务必谨慎操作):

[root@mysql-node1 ~]# vgreduce rootvg /dev/sdc1   #从VG中移除未使用的PVRemoved "/dev/sdc1" from volume group "rootvg"
[root@mysql-node1 ~]# vgsVG     #PV #LV #SN Attr   VSize   VFreecentos   1   2   0 wz--n- <19.00g    0rootvg   1   1   0 wz--n- <20.00g    0
[root@mysql-node1 ~]# pvsPV         VG     Fmt  Attr PSize   PFree/dev/sda2  centos lvm2 a--  <19.00g    0/dev/sdb   rootvg lvm2 a--  <20.00g    0/dev/sdc1         lvm2 ---    5.00g 5.00g
[root@mysql-node1 ~]# pvremove /dev/sdc1   #移除未使用的PVLabels on physical volume "/dev/sdc1" successfully wiped.
[root@mysql-node1 ~]# pvsPV         VG     Fmt  Attr PSize   PFree/dev/sda2  centos lvm2 a--  <19.00g    0/dev/sdb   rootvg lvm2 a--  <20.00g    0
[root@mysql-node1 ~]# fdisk /dev/sdc
Welcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.Command (m for help): d   #表示删除一个分区
Selected partition 1
Partition 1 is deletedCommand (m for help): 1   #默认选择最新的分区
1: unknown command
Command actiona   toggle a bootable flagb   edit bsd disklabelc   toggle the dos compatibility flagd   delete a partitiong   create a new empty GPT partition tableG   create an IRIX (SGI) partition tablel   list known partition typesm   print this menun   add a new partitiono   create a new empty DOS partition tablep   print the partition tableq   quit without saving changess   create a new empty Sun disklabelt   change a partition's system idu   change display/entry unitsv   verify the partition tablew   write table to disk and exitx   extra functionality (experts only)Command (m for help): w   #保存修改(切记一旦保存就无法取消了!!!)
The partition table has been altered!Calling ioctl() to re-read partition table.
Syncing disks.
[root@mysql-node1 ~]# lsblk
NAME              MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                 8:0    0   20G  0 disk
├─sda1              8:1    0    1G  0 part /boot
└─sda2              8:2    0   19G  0 part├─centos-root   253:0    0   17G  0 lvm  /└─centos-swap   253:1    0    2G  0 lvm  [SWAP]
sdb                 8:16   0   20G  0 disk
└─rootvg-lv_mysql 253:2    0   20G  0 lvm  /mysql
sdc                 8:32   0   10G  0 disk
sr0                11:0    1  4.4G  0 rom

批量创建和删除分区

准备一个文本文件sdc.txt如下:

n+5G
w

中间有三个空行,代表3次回车。执行下面的命令来创建一个5G大小的分区:

[root@mysql-node1 ~]# fdisk /dev/sdc < sdc.txt
Welcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.Command (m for help): Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p): Using default response p
Partition number (1-4, default 1): First sector (2048-20971519, default 2048): Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): Partition 1 of type Linux and of size 5 GiB is setCommand (m for help): The partition table has been altered!Calling ioctl() to re-read partition table.
Syncing disks.
[root@mysql-node1 ~]#
[root@mysql-node1 ~]# lsblk
NAME              MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                 8:0    0   20G  0 disk
├─sda1              8:1    0    1G  0 part /boot
└─sda2              8:2    0   19G  0 part├─centos-root   253:0    0   17G  0 lvm  /└─centos-swap   253:1    0    2G  0 lvm  [SWAP]
sdb                 8:16   0   20G  0 disk
└─rootvg-lv_mysql 253:2    0   20G  0 lvm  /mysql
sdc                 8:32   0   10G  0 disk
└─sdc1              8:33   0    5G  0 part
sr0                11:0    1  4.4G  0 rom

配合ansible可以实现批量创建对多台主机创建新分区:

[root@mysql-node1 ~]# ansible -i myhosts all -m copy -a "src=sdc.txt dest=/root/sdc.txt"
[root@mysql-node1 ~]#
[root@mysql-node1 ~]# ansible -i myhosts all -m shell -a "fdisk /dev/sdc < /root/sdc.txt"
[root@mysql-node1 ~]#

同理,自动批量删除脚本可以这样实现:

[root@mysql-node1 ~]# cat sdc-rm.txt
d
1
w
[root@mysql-node1 ~]#
[root@mysql-node1 ~]# fdisk /dev/sdc < sdc-rm.txt
[root@mysql-node1 ~]# lsblk
NAME              MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                 8:0    0   20G  0 disk
├─sda1              8:1    0    1G  0 part /boot
└─sda2              8:2    0   19G  0 part├─centos-root   253:0    0   17G  0 lvm  /└─centos-swap   253:1    0    2G  0 lvm  [SWAP]
sdb                 8:16   0   20G  0 disk
└─rootvg-lv_mysql 253:2    0   20G  0 lvm  /mysql
sdc                 8:32   0   10G  0 disk
sr0                11:0    1  4.4G  0 rom

【不积跬步无以至千里】Linux批量新建分区相关推荐

  1. 不积跬步无以至千里[转]

    不积跬步无以至千里<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> ...

  2. 熊军:不积跬步 无以至千里 技术路上没有捷径

    大家好,今天是一周新的开始,继续给大家带来ORACLE ACE的人物采访.今天的采访嘉宾是熊军先生(ID:magic007),熊军先生一直从事Oracle数据库专业技术服务工作,有近10年的Oracl ...

  3. oracle左补全函数,Oracle 左侧补齐函数lpad 函数 (不积跬步,无以至千里)

    Oracle 左侧补齐函数lpad 函数 (不积跬步,无以至千里) (2017-10-08 16:24:41) 函数介绍 lpad函数从左边对字符串使用指定的字符进行填充.从其字面意思也可以理解,l是 ...

  4. 劝学:不积跬步,无以至千里,不积小流,无以成江海.

    领略古人智慧. 不积跬步,无以至千里,不积小流,无以成江海.骐骥一跃,不能十步,驽马十驾,功在不舍.--<荀子·劝学>

  5. gcc 优化选项 -O1 -O2 -O3 -Os 优先级,-fomit-frame-pointer(不积跬步无以至千里)

    -fomit-frame-pointer 在优化时候被启用,带来了效率的提升.看到一篇比较详细记录编译选项的文章,转发一下,同时给自己作一下备忘. 少优化->多优化: O0 -->> ...

  6. 不积跬步无以至千里,我与CSDN不平凡的2021年

    文章目录 一.前言 二.收获 2.1 CSDN热搜博客 2.2 CSDN年度回忆录 2.3 入住CSDN讲师 2.4 B站千粉UP主 2.5 新星计划第二季上榜 三.学习 四.改变 4.1 自己的定位 ...

  7. 不积跬步无以至千里005

    2020.11.18 工作笔记 1,vue-cookies插件 可以发送cookie给后台 2,vue单文件组件规范==> 根节点为 template这个 template下只能且必须有一个根v ...

  8. Oracle 常见问题1000问(不积跬步,无以至千里)

    1. Oracle 安装完成后的初始口令? internal/oracle sys/change_on_install system/manager scott/tiger sysman/oem_te ...

  9. Oracle ORA-12154: TNS:could not resolve the connect identifier specified(不积跬步,无以至千里)

    ORA-12154: TNS:could not resolve the connect identifier specified 在网上也找了些方法,但没有解决我的问题. 之前sql环境同步里是: ...

  10. 重新认识java(零) --- 不积跬步无以至千里

    好高骛远,眼高手低,是你前进路上最大的绊脚石 - 致走在学习道路上的人 p.s. 本篇文章没有技术含量. 关于自己 先说说我自己吧.目前是一名软件工程的大三学生.前几天一直在迷茫:究竟是技多不压身还是 ...

最新文章

  1. 2018牛客暑期ACM多校训练营第二场 - A题
  2. R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(编写自定义函数添加均值、标准偏差)实战
  3. vue 怎么在字符串中指定位置插入字符_vue 我想在一个字符串中间加入一个/br 该怎么写?...
  4. 内核对象——Windows核心编程学习手札系列之三
  5. js带开关的时钟_昌利JS系列混凝土搅拌机衬板配件
  6. Android自动伸展动画,android – 如何实现平滑的展开/折叠动画
  7. MySQL 数据库怎样把一个表的数据插入到另一个表
  8. Algorithms - Insertion Sort - 插入排序
  9. Tether已在以太坊扩容方案Hermez Network上发行USDT
  10. Java程序员面试准备-路线
  11. 为什么我的U盘传到一半速度会变成0然后过一会儿才回继续
  12. 常用类 (五) ----- Date日期类和Calender日历类
  13. iOS开发之Xcode常见错误
  14. Redis实现Mybatis的二级缓存
  15. 网络安全从小白到专家
  16. 开发版速达扩展功能-提供便捷的界面布局功能
  17. 团队作业——项目验收与总结博客
  18. 中职计算机应用基础表格制作说课稿,表格制作的说课稿
  19. GreenPlum 大数据平台--运维(三)
  20. dataguard 版本必须一致吗?

热门文章

  1. Window端Qt Create dmp的生成与解析
  2. hjr-MUD游戏(二):HTML5-APP客户端编写
  3. 用脚本批量消除视频噪声
  4. 基于Electron的Windows桌面闹钟小程序
  5. java的英语单词发音_最长英文单词完整发音读完需要3.5个小时?
  6. 由于单表数据已经达到2000万数据,所以想分表,现假如分1000万为一单表,例有如一两个表:
  7. 2022 hgame pwn wp
  8. 有声双语阅读器-学英语背单词,做泛读的好帮手
  9. 大学生穷游网 项目截图
  10. Spring和SpringMVC架构