本节所讲内容
磁盘尺寸
3.5 英寸设计
2.5 英寸设计
12。2 磁盘分区工具和挂载
12.2.1 硬盘分区符号认识
分区编号: 主分区1-4 , 逻辑分区 5 。。。。。
LINUX规定,逻辑分区必须建立在扩展分区上,而不是建立在主分区上
分区作用:
主分区:主要是用来启动操作系统的,它主要放的是操作系统的启动或引导程序,
/boot 分区最好放在主分区上
扩展分区补鞥呢使用的,他只是做为了逻辑分区的容易存在的,我们真正存放数据的是主分区和逻辑分区,大量数据都存放在逻辑分区中
如果你使用的是GPT 的分区方式,那么它没有限制住分区个数
注意 :使用分区工具fdisk 对磁盘进行操作,分区,格式化重点
命名方式 :/ dev/sd[a-z] n
其中: a-z 表示设备的序号,如sda 表示第一块scsi 硬盘,sdb 就是第二块
n 表示每块磁盘上划分的磁盘编号
案例: 在sdb 盘上键一个分区,大小为1G
首先看到
[root@xueshen65 ~]# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sdb
[root@xueshen65 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x81afc09d 创建新的 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 change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
命令(输入 m 获取帮助):p 打印分区表
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x81afc09d
设备 Boot Start End Blocks Id System
命令(输入 m 获取帮助):n 新建一个分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p 主分区
分区号 (1-4,默认 1): 默认分区
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+1G分区的大小
分区 1 已设置为 Linux 类型,大小设为 1 GiB
命令(输入 m 获取帮助):w 保存
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@xueshen65 ~]#
例子2 :对已经在使用的磁盘进行分区,分区让新生层的分区生效,如果sda 在做一个sda4 主分区
[root@xueshen65 ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):p
磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00009e7b
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 21383167 10485760 83 Linux
/dev/sda3 21383168 25577471 2097152 82 Linux swap / Solaris
命令(输入 m 获取帮助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): p
已选择分区 4
起始 扇区 (25577472-41943039,默认为 25577472):
将使用默认值 25577472
Last 扇区, +扇区 or +size{K,M,G} (25577472-41943039,默认为 41943039):+1G
分区 4 已设置为 Linux 类型,大小设为 1 GiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
[root@xueshen65 ~]#
如果发出警告,reboot是最好的解决方法
partx -a /dev/sda 获得新分区表
使用sdb1 分区
首先格式化 mkfs -t ext4 /dev/sdb1
[root@xueshen65 ~]# 格式化,-f 对已经存在的文件,强制覆盖
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=65536 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=262144, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=
2 创建挂载点
mkdir /sdb1
mount /dev/sdb1 /sdb1/
[root@xueshen65 ~]# mkdir /sdb1 创建挂载点
[root@xueshen65 ~]# mount /dev/sdb1 /sdb1/ 挂载
[root@xueshen65 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda2 10G 5.4G 4.7G 54% /
devtmpfs 975M 0 975M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 11M 981M 2% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sr0 4.3G 4.3G 0 100% /mnt
/dev/sda1 197M 142M 56M 72% /boot
tmpfs 199M 12K 199M 1% /run/user/42
tmpfs 199M 0 199M 0% /run/user/0
/dev/sdb1 1014M 33M 982M 4% /sdb1
然后就可以使用了
[root@xueshen65 ~]# cd /sdb1/ 使用新分区
[root@xueshen65 sdb1]# ls
[root@xueshen65 sdb1]# cp /etc/passwd ./
[root@xueshen65 sdb1]# ls
passwd
[root@xueshen65 sdb1]#
例子3:解决卸载的问题
① [root@xueshen65 sdb1]# lsof /sdb1
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 8236 root cwd DIR 8,17 20 64 /sdb1
lsof 10202 root cwd DIR 8,17 20 64 /sdb1
lsof 10203 root cwd DIR 8,17 20 64 /sdb1
② [root@xueshen65 sdb1]# kill -9 8236
此时窗口就关闭了
就可以卸载了
③ [root@xueshen65 ~]# umount /sdb1/
[root@xueshen65 ~]#
第二种方法
例子4 : 写入配置文件,让他开机自动挂载
vim /etc/fstab
添加红线内容
了解
[root@xueshen65 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda2 10G 5.4G 4.7G 54% /
devtmpfs 975M 0 975M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 11M 981M 2% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sr0 4.3G 4.3G 0 100% /mnt
/dev/sda1 197M 142M 56M 72% /boot
tmpfs 199M 12K 199M 1% /run/user/42
tmpfs 199M 0 199M 0% /run/user/1000
[root@xueshen65 ~]# mount -a # 自动挂载、/etc/fstab 中没有挂载上的文件
[root@xueshen65 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda2 10G 5.4G 4.7G 54% /
devtmpfs 975M 0 975M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 11M 981M 2% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sr0 4.3G 4.3G 0 100% /mnt
/dev/sda1 197M 142M 56M 72% /boot
tmpfs 199M 12K 199M 1% /run/user/42
tmpfs 199M 0 199M 0% /run/user/1000
/dev/sdb1 1014M 33M 982M 4% /sdb1 # 发现已经被挂载上了,说明配置没有问题
然后再重启,看看挂载
第二种方法
可以使用UUID的方法
[root@xueshen65 ~]# blkid
/dev/sda1: UUID="803f9544-e54c-4e88-ab10-d2b483ec407b" TYPE="xfs"
/dev/sda2: UUID="fce7cb5e-9ef6-4d94-8dfa-b74790cb59a5" TYPE="xfs"
/dev/sda3: UUID="c2743a95-90e2-4052-bcad-a65e392abcca" TYPE="swap"
/dev/sdb1: UUID="767a7da4-ab65-4ddf-b3cc-44708e7330a9" TYPE="xfs"
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
echo "UUID=767a7da4-ab65-4ddf-b3cc-44708e7330a9 /sdb1 xfs default 0 0">>/etc/fstab
12.3.2 gdisk 磁盘分区工具
gdisk 主要是用来划分容量大于4T的硬盘,大于4T fdisk 搞不定
两种类型的分区表,:GPT 和MBR :MBR不支持4T 以上
GPT 分区
例子:对sdb 做gpt 分区,创建一个sdb1
[root@xueshen65 ~]# gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
typing 'q' if you don't want to convert your MBR partitions
to GPT format!
***************************************************************
Command (? for help): ?
b back up GPT data to a file
c change a partition's name
d delete a partition 删除分区表
i show detailed information on a partition
l list known partition types
n add a new partition 添加一个分区
o create a new empty GUID partition table (GPT)
p print the partition table 打印分区表
q quit without saving changes 退出不保存
r recovery and transformation options (experts only)
s sort partitions
t change a partition's type code
v verify disk
w write table to disk and exit 写入分区表并保存
x extra functionality (experts only)
? print this menu
Command (? for help): n 新建分区表
步骤如下
1 [root@xueshen65 ~]# gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
typing 'q' if you don't want to convert your MBR partitions
to GPT format!
***************************************************************
Command (? for help): ?
b back up GPT data to a file
c change a partition's name
d delete a partition
i show detailed information on a partition
l list known partition types
n add a new partition
o create a new empty GUID partition table (GPT)
p print the partition table
q quit without saving changes
r recovery and transformation options (experts only)
s sort partitions
t change a partition's type code
v verify disk
w write table to disk and exit
x extra functionality (experts only)
? print this menu
Command (? for help): p 答应分区表
Disk /dev/sdb: 41943040 sectors, 20.0 GiB
Logical sector size: 512 bytes 默认下一步
Disk identifier (GUID): FE0D013A-EA43-4DEA-B77E-963B0B60551B
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 41943006
Partitions will be aligned on 2048-sector boundaries
Total free space is 39845821 sectors (19.0 GiB)
Number Start (sector) End (sector) Size Code Name
1 2048 2099199 1024.0 MiB 8300 Linux filesystem
Command (? for help): d 删除分区表
Using 1
Command (? for help): p 打印分区表
Disk /dev/sdb: 41943040 sectors, 20.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): FE0D013A-EA43-4DEA-B77E-963B0B60551B
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 41943006
Partitions will be aligned on 2048-sector boundaries
Total free space is 41942973 sectors (20.0 GiB)
Number Start (sector) End (sector) Size Code Name
Command (? for help): n 新建分区表
Partition number (1-128, default 1):默认
First sector (34-41943006, default = 2048) or {+-}size{KMGTP}:默认
Last sector (2048-41943006, default = 41943006) or {+-}size{KMGTP}: +1G 大小
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): l默认
0700 Microsoft basic data 0c01 Microsoft reserved 2700 Windows RE
3000 ONIE boot 3001 ONIE config 4100 PowerPC PReP boot
4200 Windows LDM data 4201 Windows LDM metadata 7501 IBM GPFS
7f00 ChromeOS kernel 7f01 ChromeOS root 7f02 ChromeOS reserved
8200 Linux swap 8300 Linux filesystem 8301 Linux reserved
8302 Linux /home 8400 Intel Rapid Start 8e00 Linux LVM
a500 FreeBSD disklabel a501 FreeBSD boot a502 FreeBSD swap
a503 FreeBSD UFS a504 FreeBSD ZFS a505 FreeBSD Vinum/RAID
a580 Midnight BSD data a581 Midnight BSD boot a582 Midnight BSD swap
a583 Midnight BSD UFS a584 Midnight BSD ZFS a585 Midnight BSD Vinum
a800 Apple UFS a901 NetBSD swap a902 NetBSD FFS
a903 NetBSD LFS a904 NetBSD concatenated a905 NetBSD encrypted
a906 NetBSD RAID ab00 Apple boot af00 Apple HFS/HFS+
af01 Apple RAID af02 Apple RAID offline af03 Apple label
af04 AppleTV recovery af05 Apple Core Storage be00 Solaris boot
bf00 Solaris root bf01 Solaris /usr & Mac Z bf02 Solaris swap
bf03 Solaris backup bf04 Solaris /var bf05 Solaris /home
bf06 Solaris alternate se bf07 Solaris Reserved 1 bf08 Solaris Reserved 2
bf09 Solaris Reserved 3 bf0a Solaris Reserved 4 bf0b Solaris Reserved 5
c001 HP-UX data c002 HP-UX service ea00 Freedesktop $BOOT
eb00 Haiku BFS ed00 Sony system partitio ed01 Lenovo system partit
Press the
ef00 EFI System ef01 MBR partition scheme ef02 BIOS boot partition
fb00 VMWare VMFS fb01 VMWare reserved fc00 VMWare kcore crash p
fd00 Linux RAID
Hex code or GUID (L to show codes, Enter = 8300): 默认8300
Changed type of partition to 'Linux filesystem'
Command (? for help): w 保存退出
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y 是保存
OK; writing new GUID partition table (GPT) to /dev/sdb.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
[root@xueshen65 ~]#
查看是否成功
[root@xueshen65 ~]# ls /dev/sdb*
/dev/sdb /dev/sdb1
[root@xueshen65 ~]# umount /dev/sdb1 卸载
[root@xueshen65 ~]# mkfs.ext4 /dev/sdb1 格式化
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@xueshen65 ~]#
12.3 实战扩展swap 分区
Swap 分区在系统的物理内存不够用的时候,把硬盘空间的一部分空间释放出来,以供当前运行的程序使用,
mkswap /devices (格式化成swap格式)
swapon /swap 激活/ swap ,加入到swap 分区中
vim /etc/fstab (开机自启动添加的swap 分区) 在最后添加
/devices swap swap defaults 0 0
如果不想使用需要删除,只需要执行 swapoff /swap
对已经有的sdb2 进行swap 分区
1 [root@xueshen65 ~]# mkswap /dev/sdb2
正在设置交换空间版本 1,大小 = 1048572 KiB
无标签,UUID=b85aab48-3f5a-440c-8db4-af13db73eb6f
2 [root@xueshen65 ~]# free -m
total used free shared buff/cache available
Mem: 1980 797 450 13 733 958
Swap: 2047 0 2047
3 [root@xueshen65 ~]# swapon /dev/sdb2
[root@xueshen65 ~]# free -m
total used free shared buff/cache available
Mem: 1980 804 442 13 733 950
Swap: 3071 0 3071
4 也可以关着
root@xueshen65 ~]# swapoff /dev/sdb2
[root@xueshen65 ~]# free -m
total used free shared buff/cache available
Mem: 1980 809 438 13 733 945
Swap: 2047 0 2047
看看当前有哪些文件
[root@xueshen65 ~]# swapon /dev/sdb2
[root@xueshen65 ~]# swapon -s # 查看列表
文件名 类型 大小 已用 权限
/dev/sda3 partition 2097148 0 -2
/dev/sdb2 partition 1048572 0 -3
当然也可以使用文件加入swap 分区
dd if =/dev/zero of =swap_file bs =1 M count =500