fdisk 命令适用于小于2T的磁盘分区

part 命令适用于大于2T的磁盘分区

  1. fdisk命令分区

在虚拟机上新加了一块1G磁盘,对磁盘进行分区,操作命令:

[root@host2 ~]# fdisk -l   查看磁盘信息


磁盘 /dev/sda21.5 GB, 21474836480 字节,41943040 个扇区

Units = 扇区of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x000a2cc7


设备 Boot      Start         End      Blocks  Id  System

/dev/sda1   *        2048    1026047      512000   83 Linux

/dev/sda2        1026048    41943039    20458496  8e  Linux LVM


磁盘 /dev/sdb1073 MB, 1073741824 字节,2097152 个扇区

Units = 扇区of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节



磁盘/dev/mapper/centos-root18.8GB, 18756927488 字节,36634624个扇区

Units = 扇区of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节



磁盘/dev/mapper/centos-swap2147MB, 2147483648 字节,4194304个扇区

Units = 扇区of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节


[root@host2 ~]# fdisk -l /dev/sdb 查看单个磁盘信息


磁盘 /dev/sdb1073 MB, 1073741824 字节,2097152 个扇区

Units = 扇区of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节


[root@host2 ~]# fdisk /dev/sdb 删除一个磁盘的多个分区(即开始对一个磁盘分区)

欢迎使用 fdisk(util-linux 2.23.2)


更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。


Device does not contain a recognized partition table

使用磁盘标识符0x9a7dd33d 创建新的DOS 磁盘标签。


命令(输入 m 获取帮助)m  查看帮助

命令操作

   a   toggle a bootable flag

   b   edit bsd disklabel

   c   toggle the dos compatibility flag

   d   delete a partition                删除一个分区

   g   create a new empty GPT partition table

   G   create an IRIX (SGI) partition table

   l   list known partition types

   m   print this menu

   n   add a new partition                   添加一个新分区

   o   create a new empty DOS partition table

   p   print the partition table                打印出分区信息

   q   quit without saving changes             退出不保存

   s   create a new empty Sun disklabel

   t   change a partition's system id

   u   changedisplay/entry units

   v   verify the partition table

   w   write table to disk and exit              将操作写入分区并同步到系统

   x   extra functionality (experts only)


命令(输入 m 获取帮助)选择分区

Partition type:

   p   primary (0 primary, 0 extended, 4 free)   创建主分区

   e   extended                           创建扩展分区

Select (default p): p

分区号 (1-4,默认 1)1                    分区编号,默认从1开始

起始扇区 (2048-2097151,默认为 2048)

将使用默认值 2048

Last 扇区,+扇区 or+size{K,M,G} (2048-2097151,默认为2097151)+100M   此处输入分区的磁盘大小

分区 1 已设置为 Linux 类型,大小设为 100 MiB


命令(输入 m 获取帮助)p  打印分区信息


磁盘 /dev/sdb1073 MB, 1073741824 字节,2097152 个扇区

Units = 扇区of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x9a7dd33d


设备 Boot      Start         End     Blocks   Id System

/dev/sdb1           2048      206847      102400  83  Linux


命令(输入 m 获取帮助)n

Partition type:

   p   primary (1 primary, 0 extended, 3 free)

   e   extended

Select (default p): e                      创建一个扩展分区

分区号 (2-4,默认 2)1

值超出范围。

分区号 (2-4,默认 2)2

起始扇区 (206848-2097151,默认为 206848)

将使用默认值 206848

Last 扇区,+扇区 or+size{K,M,G} (206848-2097151,默认为2097151)     将剩余的空间全部设置为扩展分区

将使用默认值 2097151

分区 2 已设置为 Extended 类型,大小设为 923 MiB


命令(输入 m 获取帮助)p


磁盘 /dev/sdb1073 MB, 1073741824 字节,2097152 个扇区

Units = 扇区of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x9a7dd33d


设备 Boot      Start         End      Blocks  Id  System

/dev/sdb1           2048      206847      102400  83  Linux

/dev/sdb2         206848     2097151      945152   5  Extended


命令(输入 m 获取帮助)n

Partition type:

   p   primary (1 primary, 1 extended, 2 free)

   l   logical (numbered from 5)       已经分了扩展分区,所以此处只能分逻辑分区,

Select (default p): p            已经没有磁盘空间了,所以此处再分主分区会报错

分区号 (3,4,默认 3)3

No free sectors available


命令(输入 m 获取帮助)n

Partition type:

   p   primary (1 primary, 1 extended, 2 free)

   l   logical (numbered from 5)    分逻辑分区,编号从5开始

Select (default p): l                 分逻辑分区,编号从5开始

添加逻辑分区 5

起始扇区 (208896-2097151,默认为 208896)

将使用默认值 208896

Last 扇区,+扇区 or+size{K,M,G} (208896-2097151,默认为2097151)+400M^Hm^H

不支持的后缀:“”。

支持:10^N: KB(千字节), MB (兆字节), GB (吉字节)

            2^N: K  (约千字节), M  (约兆字节), G  (约吉字节)

Last 扇区,+扇区 or+size{K,M,G} (208896-2097151,默认为2097151)+400m  注意分区大小后面的单位应为{K,M,G}

不支持的后缀:“m”。

支持:10^N: KB(千字节), MB (兆字节), GB (吉字节)

            2^N: K  (约千字节), M  (约兆字节), G  (约吉字节)

Last 扇区,+扇区 or+size{K,M,G} (208896-2097151,默认为2097151)^[[A

Last 扇区,+扇区 or+size{K,M,G} (208896-2097151,默认为2097151)+400M

分区 5 已设置为 Linux 类型,大小设为 400 MiB


命令(输入 m 获取帮助)p


磁盘 /dev/sdb1073 MB, 1073741824 字节,2097152 个扇区

Units = 扇区of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x9a7dd33d


设备 Boot      Start         End      Blocks  Id  System

/dev/sdb1           2048      206847      102400  83  Linux

/dev/sdb2         206848     2097151      945152   5  Extended

/dev/sdb5         208896     1028095      409600  83  Linux


命令(输入 m 获取帮助)n

Partition type:

   p   primary (1 primary, 1 extended, 2 free)

   l   logical (numbered from 5)

Select (default p): l    将剩下的空间再分一个逻辑分区

添加逻辑分区 6

起始扇区 (1030144-2097151,默认为 1030144)

将使用默认值 1030144

Last 扇区,+扇区 or+size{K,M,G} (1030144-2097151,默认为2097151)

将使用默认值 2097151

分区 6 已设置为 Linux 类型,大小设为 521 MiB


命令(输入 m 获取帮助)p   打印出所有的分区


磁盘 /dev/sdb1073 MB, 1073741824 字节,2097152 个扇区

Units = 扇区of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x9a7dd33d


设备 Boot      Start         End      Blocks  Id  System

/dev/sdb1           2048      206847      102400  83  Linux

/dev/sdb2         206848     2097151      945152   5  Extended  扩展分区

/dev/sdb5         208896     1028095      409600  83  Linux

/dev/sdb6        1030144     2097151      533504  83  Linux


命令(输入 m 获取帮助)w    保存分区信息,分区完成

The partition table has been altered!


Calling ioctl() to re-read partition table.

正在同步磁盘。


[root@host2 ~]# partprobe /dev/sdb  将磁盘分区后的信息同步的系统内核


fdisk分区必须小于2T,大于2T的是用parted


[root@host2 ~]# fdisk /dev/sdb

欢迎使用 fdisk(util-linux 2.23.2)


更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。



命令(输入 m 获取帮助)d   删除一个分区

分区号 (1,2,5,6,默认 6)5  此处会列出所有可删除的分区

分区 5 已删除


命令(输入 m 获取帮助)p


磁盘 /dev/sdb1073 MB, 1073741824 字节,2097152 个扇区

Units = 扇区of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x9a7dd33d


设备 Boot      Start         End      Blocks  Id  System

/dev/sdb1           2048      206847      102400  83  Linux

/dev/sdb2         206848     2097151      945152   5  Extended

/dev/sdb5        1030144     2097151      533504  83  Linux

  • 删除分区5后的分区信息,可以看到,删除分区5后,分区6的设备名改为了原分区5的设备名

命令(输入 m 获取帮助)w

The partition table has been altered!


Calling ioctl() to re-read partition table.

正在同步磁盘。

格式化磁盘:

[root@host2 ~]# mkfs.ext4 /dev/sdb1    格式化分区/dev/sdb1ext4分区

mke2fs 1.42.9 (28-Dec-2013)

文件系统标签=

OS type: Linux

块大小=1024(log=0)

分块大小=1024(log=0)

Stride=0 blocks, Stripe width=0 blocks

25688 inodes, 102400 blocks

5120 blocks (5.00%) reserved for the super user

第一个数据块=1

Maximum filesystem blocks=33685504

13 block groups

8192 blocks per group, 8192 fragments per group

1976 inodes per group

Superblock backups stored on blocks:

        8193, 24577, 40961,57345, 73729


Allocating group tables: 完成                           

正在写入inode: 完成                           

Creating journal (4096 blocks): 完成

Writing superblocks and filesystem accounting information: 完成

将分区信息写入系统分区表/etc/fstab

[root@host2 mnt]# echo "/dev/sdb1                /mnt                   ext4    defaults        0 0" >>/etc/fstab

                            spacer.gif

挂载分区:

[root@host2 ~]# mount /dev/sdb1 /mnt挂载分区,注意后面目录(/mnt)应为空的,否则会覆盖掉的哦,如果没有在分区表(/etc/fstab)文件中写入分区信息,可以重启服务器,那么原来的在目录中的文件就会恢复了

[root@host2 ~]# df -h

文件系统                 容量 已用  可用已用%挂载点

/dev/mapper/centos-root  18G  4.5G   13G  26% /

devtmpfs                484M     0  484M   0% /dev

tmpfs                   494M     0  494M   0% /dev/shm

tmpfs                   494M  6.8M  487M   2% /run

tmpfs                   494M     0  494M   0% /sys/fs/cgroup

/dev/sda1                497M  120M 378M   25% /boot

tmpfs                    99M     0   99M   0% /run/user/0

/dev/sdb1                93M  1.6M   85M   2% /mnt


2.parted命令分区

公司的数据备份服务器空间不够了,申请购买了42TSATA硬盘,并且把4块盘做了RAID5,现在需要把做RAID后的分区分成2个分区,一个用来存放IDC机房拉去回来的数据备份,大小2T,剩下的空间分一个分区用来做办公内部的数据备份,请你给出分区过程?

解答:

6T分成2个区

parted分区过程(大于2T使用parted命令):

此处举例使用一个G的磁盘分区:

[root@host2mnt]# parted /dev/sdb    开始分区

GNUParted 3.1

使用 /dev/sdb

Welcometo GNU Parted! Type 'help' to view a list of commands.

(parted) rm 6    如果磁盘已经分区过,应先把所有分区依次删除。

(parted) rm 5

(parted) rm 2

(parted) rm 1

(parted) m                                                                

  align-check TYPE N                        check partition N forTYPE(min|opt) alignment

  help [COMMAND]                           print general help,or help on COMMAND

  mklabel,mktable LABEL-TYPE               create a new disklabel(partition table)

  mkpart PART-TYPE [FS-TYPE] START END     make a partition

  name NUMBER NAME                         name partition NUMBERas NAME

  print [devices|free|list,all|NUMBER]     display the partition table, availabledevices, free space, all

        found partitions, or a particularpartition

  quit                                     exitprogram

  rescue START END                         rescue a lostpartition near START and END

  rm NUMBER                                deletepartition NUMBER

  select DEVICE                            choose the deviceto edit

  disk_set FLAG STATE                      change the FLAG onselected device

  disk_toggle [FLAG]                       toggle the state of FLAG onselected device

  set NUMBER FLAG STATE                    change the FLAG onpartition NUMBER

  toggle [NUMBER [FLAG]]                   toggle the state of FLAG onpartition NUMBER

  unit UNIT                                set the default unit to UNIT

  version                                  display theversion number and copyright information of GNU

        Parted

(parted) mklabel gpt    使用parted分区需要把磁盘改成gpt格式

警告: The existing disklabel on /dev/sdb will be destroyed and all data on this disk will be lost. Doyouwant to continue?

/Yes//No?yes                                                        

(parted) p       查看磁盘信息                                                        

Model:VMware, VMware Virtual S (scsi)

Disk/dev/sdb: 1074MB

Sectorsize (logical/physical): 512B/512B

PartitionTable: gpt

DiskFlags:

 

Number  Start End  Size  File system Name  标志

 

(parted) mkpart primary 0 500    分了一个主分区大小为3000G

警告: The resultingpartition is not properly aligned for best performance.

忽略/Ignore/放弃/Cancel?yes                                             

parted:invalid token: yes

忽略/Ignore/放弃/Cancel?yes                                             

parted:invalid token: yes

忽略/Ignore/放弃/Cancel?Ignore                                           

(parted)p                                                               

Model:VMware, VMware Virtual S (scsi)

Disk/dev/sdb: 1074MB

Sectorsize (logical/physical): 512B/512B

PartitionTable: gpt

DiskFlags:

 

Number  Start  End    Size   File system Name     标志

 1     17.4kB  500MB  500MB               primary

 

(parted) mkpart logical 501 1000   创建一个逻辑分区,分区是从501M1000M,大小为499M                                      

(parted) p      打印出磁盘分区信息                                                            

Model:VMware, VMware Virtual S (scsi)

Disk/dev/sdb: 1074MB

Sectorsize (logical/physical): 512B/512B

PartitionTable: gpt

DiskFlags:

 

Number  Start  End     Size   File system Name     标志

 1     17.4kB  500MB   500MB               primary

 2      501MB  1000MB  499MB               logical

 

 

也可以使用非交互式的方式格式化磁盘:

parted /dev/sdb mklabel gpt

parted /dev/sdb mkpart primary 0 500

parted /dev/sdb mkpart logical 501 1000

parted /dev/sdb p

mkfs.ext4 /dev/sdb1

mount /dev/sdb1 /mnt