一、MBR主引导记录
MBR有512个字节,分为三个部分:第一部分446个字节,存储了引导分区;第二部分64字 节为分区表;第三部分2个字节结束符;每个分区需16个字节,所以MBR的模式下只能划分4个主分区或3个主分区和扩展分区;主分区可以直接使用,扩展分 区不能直接使用,在扩展分区上划分逻辑分区再使用;
[root@wk ~]# cat /proc/partitions
major minor #blocks name
8 16 20971520 sdb
8 0 26214400 sda
8 1 1024000 sda1
8 2 18432000 sda2
8 3 1024000 sda3
11 0 3655680 sr0
二、GPT
GPT可以记录128个主分区;
三、使用命令管理磁盘分区
1、fdisk命令
使用fdisk划分磁盘,默认会划分为MBR格式的磁盘
fdisk -l 查看当前的磁盘和分区情况:
[root@wk ~]# fdisk /dev/sdb
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 0x39c77fae.
Command (m for help): m
Command action
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 change display/entry units
v verify the partition table
w write table to disk and exit 退出并保存,然后使用partprobe或partx /dev/sdX刷新
x extra functionality (experts only)
添加分区:
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +2G
Partition 1 of type Linux and of size 2 GiB is set
Command (m for help):p
Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x39c77fae
Device Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux
Command (m for help):
只能划分四个主分区,如果要划分多余四个分区,则需要在第四个分区创建扩展分区,在扩展分区上创建逻辑分区:
Device Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux
/dev/sdb2 4196352 8390655 2097152 83 Linux
/dev/sdb3 8390656 12584959 2097152 83 Linux
/dev/sdb4 12584960 41943039 14679040 5 Extended
/dev/sdb5 12587008 16781311 2097152 83 Linux
[root@wk ~]# fdisk -l /dev/sda
有*标识代表的是启动分区:
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2050047 1024000 83 Linux
/dev/sda2 2050048 38914047 18432000 83 Linux
/dev/sda3 38914048 40962047 1024000 82 Linux swap / Solaris
分区类型,使用t命令可以修改分区的类型:
Command (m for help): l
0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx
5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data
....省略
2、gdisk命令
使用gdisk划分磁盘,默认划分为GPT格式的磁盘
[root@wk ~]# gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.6
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help):
使用方法与fdisk基本相同,这里不在复述。
3、parted命令:可以自行选择划分格式
parted命令可以将MBR结构修改为GPT结构,但是要慎重,因为分区表会丢失:
[root@wk ~]# parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help------------查看下帮助吧,不常用记不住。
使用mklabel转换分区类型:
aix amiga bsd dvh gpt loop mac msdos pc98 sun
(parted) mklabel
New disk label type? gpt
(parted)
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@wk ~]# partprobe 或 [root@wk ~]# partx -a
4、使用mkfs给分区设置文件系统:
[root@wk ~]# mkfs -t xfs /dev/sdb1
meta-data=/dev/sdb1 isize=256 agcount=4, agsize=131072 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=524288, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
指定block size大小:
[root@wk ~]# mkfs.xfs -b size=1024 /dev/sdb2
挂载分区到文件系统:
[root@wk ~]# mkdir /aa
[root@wk ~]# mount /dev/sdb1 /aa
[root@wk ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 18G 14G 3.8G 79% /
devtmpfs 482M 0 482M 0% /dev
tmpfs 490M 0 490M 0% /dev/shm
tmpfs 490M 6.9M 484M 2% /run
tmpfs 490M 0 490M 0% /sys/fs/cgroup
/dev/sda1 997M 123M 875M 13% /boot
/dev/sdb1 2.0G 33M 2.0G 2% /aa
可以使用xfs_info查看文件系统信息:
[root@wk ~]# xfs_info /aa
meta-data=/dev/sdb1 isize=256 agcount=4, agsize=131072 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=524288, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
使用xfs_admin查看分区的blkid:
[root@wk ~]# xfs_admin -u /dev/sdb1
UUID = 12d99538-2241-42b0-b873-6406266cc8e2
也可以使用blkid查看:
[root@wk ~]# blkid
/dev/sdb1: UUID="12d99538-2241-42b0-b873-6406266cc8e2" TYPE="xfs" PARTUUID="e71103e9-668d-444b-bc96-70501467cc43"
/dev/sdb2: UUID="9a951c66-78e1-416e-aa0e-7d41a55efc6d" TYPE="xfs" PARTUUID="38a4a2ea-2571-419d-b80f-8ea801f4291e"
/dev/sda1: UUID="7dfc741a-395f-46d9-ba69-a037f24ae107" TYPE="xfs"
/dev/sda2: UUID="82934945-3802-4f45-ada3-1d43f0b2a1c5" TYPE="xfs"
/dev/sda3: UUID="6dde9ce3-2757-4c88-b082-5665daa2d584" TYPE="swap"
/dev/sr0: UUID="2014-05-07-03-58-46-00" LABEL="RHEL-7.0 Server.x86_64" TYPE="iso9660" PTTYPE="dos"
一个分区如果不格式的话,没有文件系统那么就不会有UUID:
可以使用xfs_admin -U修改分区的UUID:
[root@wk ~]# uuidgen
292e2919-11fa-4f1c-8006-4a506095d377
[root@wk ~]# xfs_admin -U 292e2919-11fa-4f1c-8006-4a506095d377 /dev/sdb1
Clearing log and setting UUID
writing all SBs
new UUID = 292e2919-11fa-4f1c-8006-4a506095d377
xfs文件系统大小可以增加,但是不能减少
Swap交换分区,类似于Windows的虚拟内存:
就是利用磁盘里面的一部分空间,来模拟内存:
1、使用分区;
2、创建文件;
查看Swap分区:
[root@wk ~]# cat /proc/swaps
Filename Type Size Used Priority
/dev/sda3 partition 1023996 0 -1
命令t修改分区为swap格式:
Command (m for help): t
Selected partition 1
Partition type (type L to list all types): 14
Changed type of partition 'EFI System' to 'Linux swap'
格式化swap分区:
[root@wk ~]# mkswap /dev/sdb1
mkswap: /dev/sdb1: warning: wiping old xfs signature.
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=b633a131-d314-487b-b1f8-a5516626c081
使用Swapon 和 Swapoff 启用或关闭swap分区:
[root@wk ~]# swapon /dev/sdb1
[root@wk ~]# free
total used free shared buffers cached
Mem: 1003456 420340 583116 7020 1328 138184
-/+ buffers/cache: 280828 722628
Swap: 2072568 0 2072568
[root@wk ~]# swapoff /dev/sdb1
[root@wk ~]# free
total used free shared buffers cached
Mem: 1003456 419936 583520 7020 1324 138220
-/+ buffers/cache: 280392 723064
Swap: 1023996 0 1023996
创建文件作为swap分区:
[root@wk ~]# dd if=/dev/zero of=/swapfile bs=1M count=200
[root@wk ~]# mkswap /swapfile
Setting up swapspace version 1, size = 204796 KiB
no label, UUID=630ac3d6-94fd-4b68-8148-00f0b780bb2d
[root@wk ~]# chmod 0600 /swapfile
[root@wk ~]# swapon /swapfile
[root@wk ~]# free
total used free shared buffers cached
Mem: 1003456 630596 372860 7016 1328 343160
-/+ buffers/cache: 286108 717348
Swap: 1228792 0 1228792
[root@wk ~]# swapoff /swapfile
[root@wk ~]# free
total used free shared buffers cached
Mem: 1003456 630556 372900 7016 1328 343160
-/+ buffers/cache: 286068 717388
Swap: 1023996 0 1023996
最后,记得在 /etc/fstab中添加相应参数
[root@wk ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Fri Jan 1 11:14:17 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=82934945-3802-4f45-ada3-1d43f0b2a1c5 / xfs defaults 1 1
UUID=7dfc741a-395f-46d9-ba69-a037f24ae107 /boot xfs defaults 1 2
UUID=6dde9ce3-2757-4c88-b082-5665daa2d584 swap swap defaults 0 0
这部分就不介绍了,查一下吧。