一、常用2种分区表:

1、MBR分区表(即主引导记录)

所支持的最大分区:2T,而且对分区有限制:最多4个主分区或3个主分区加一个扩展分区

2、GPT分区表(即GUID分区表)

是源自EFI标准的一种较新的磁盘分区表结构的标准,与MBR分区方式相比,具有如下优点:
突破MBR 4个主分区限制,每个磁盘最多支持128个分区。支持大于2T的分区,最大可达18EB。

二、parted 常用选项

-h, --help                    显示此求助信息 
-l, --list                    列出所有设别的分区信息
-i, --interactive             在必要时,提示用户 
-s, --script                  从不提示用户 
-v, --version                 显示版本

三、parted 操作命令

检查 MINOR                                      #对文件系统进行一个简单的检查 
cp [FROM-DEVICE] FROM-MINOR TO-MINOR            #将文件系统复制到另一个分区 
help [COMMAND]                                  #打印通用求助信息,或关于 COMMAND 的信息 
mklabel 标签类型                                #创建新的磁盘标签 (分区表) 
mkfs MINOR 文件系统类型                         #在 MINOR 创建类型为“文件系统类型”的文件系统 
mkpart 分区类型 [文件系统类型] 起始点 终止点    #创建一个分区 
mkpartfs 分区类型 文件系统类型 起始点 终止点    #创建一个带有文件系统的分区 
move MINOR 起始点 终止点                        #移动编号为 MINOR 的分区 
name MINOR 名称                                 #将编号为 MINOR 的分区命名为“名称” 
print [MINOR]                                   #打印分区表,或者分区 
quit                                            #退出程序 
rescue 起始点 终止点                            #挽救临近“起始点”、“终止点”的遗失的分区 
resize MINOR 起始点 终止点                      #改变位于编号为 MINOR 的分区中文件系统的大小 
rm MINOR                                        #删除编号为 MINOR 的分区 
select 设备                                     #选择要编辑的设备 
set MINOR 标志 状态                             #改变编号为 MINOR 的分区的标志

四、脚本实现自动挂载

1、自动分区挂载脚本

root@ubuntu:~# cat disk.sh 
device=`fdisk -l 2> /dev/null | grep "Disk /dev/sdb" | sort | uniq -c | sort -nr | head -1 | awk '{print $3}' | awk -F: '{print $1}'`
parted $device --script mklabel gpt mkpart primary 0 -- -1
pvcreate ${device}1
vgcreate -v vg01 ${device}1
lvcreate -l 100%VG -n lvdata vg01 
mkfs.ext4 /dev/vg01/lvdata
UUID=`blkid | grep "lvdata" | awk -F: '{print $2}' | awk -F " " '{print $1}'`
echo "$UUID  /mnt  ext4  defaults,noatime  0  2" >> /etc/fstab 
mount -a

2、脚本执行过程如下

root@ubuntu:~# bash -x disk.sh 
++ fdisk -l
++ uniq -c
++ awk -F: '{print $1}'
++ sort -nr
++ sort
++ grep 'Disk /dev/sdb'
++ awk '{print $3}'
++ head -1
+ device=/dev/sdb
+ parted /dev/sdb --script mklabel gpt mkpart primary 0 -- -1
Warning: The resulting partition is not properly aligned for best performance.
+ pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created
+ vgcreate -v vg01 /dev/sdb1
    Wiping cache of LVM-capable devices
    Adding physical volume '/dev/sdb1' to volume group 'vg01'
    Archiving volume group "vg01" metadata (seqno 0).
    Creating volume group backup "/etc/lvm/backup/vg01" (seqno 1).
  Volume group "vg01" successfully created
+ lvcreate -l 100%VG -n lvdata vg01
  Logical volume "lvdata" created
+ mkfs.ext4 /dev/vg01/lvdata
mke2fs 1.42.9 (4-Feb-2014)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
196608000 inodes, 786430976 blocks
39321548 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
24000 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
    102400000, 214990848, 512000000, 550731776, 644972544

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done       

++ awk -F ' ' '{print $1}'
++ awk -F: '{print $2}'
++ grep lvdata
++ blkid
+ UUID='UUID="78a5489c-9c17-46b7-b7ab-0ecfd17280e4"'
+ echo 'UUID="78a5489c-9c17-46b7-b7ab-0ecfd17280e4"  /mnt  ext4  defaults,noatime  0  2'
+ mount -a

3、查看挂载分区详情

root@ubuntu:~# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/sda1               ext4       98G  4.4G   89G   5% /
none                    tmpfs     4.0K     0  4.0K   0% /sys/fs/cgroup
udev                    devtmpfs  482M   12K  482M   1% /dev
tmpfs                   tmpfs      99M  1.5M   98M   2% /run
/dev/mapper/vg01-lvdata ext4      2.9T   72M  2.8T   1% /mnt

五、创建物理卷报错如下

root@ubuntu:~# pvcreate /dev/sdb1
Can't open /dev/sdb1 exclusively.Mounted filesystem?

root@ubuntu:~# ll /dev/mapper/
total 0
drwxr-xr-x  2 root root      80 1126 22:28 ./
drwxr-xr-x 17 root root    4440 1126 22:29 ../
crw-------  1 root root 10, 236 1126 22:28 control
lrwxrwxrwx  1 root root       7 1126 22:29 vg01-lvdata -> ../dm-0

root@ubuntu:~# dmsetup remove vg01-lvdata

root@ubuntu:~# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐