磁盘分区
- 新增磁盘后的管理
- 对磁盘进行分区。新建可用分区;
- 对磁盘机型格式化,创建系统可用的文件系统;
- 挂载使用。
- MBR位于磁盘的0磁道0柱面1扇区。但是在512字节的主引导山区中,MBR占用了446个字节,另外的64个字节交给了DPT,最后两个字节“55,AA”是分区结束的标志。
磁盘分区
fdisk命令,用于对磁盘进行分区;
/etc/fstab磁盘分区文件所在位置。
`查看磁盘信息`
[root@localhost Packages]# fdisk -l
Disk /dev/sda: 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: 0x00025407
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 4196351 2097152 83 Linux
/dev/sda2 4196352 4605951 204800 82 Linux swap / Solaris
/dev/sda3 4605952 12994559 4194304 83 Linux
/dev/sda4 12994560 13199359 102400 83 Linux
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 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: 0xb60009eb
Device Boot Start End Blocks Id System
[root@localhost Packages]# 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.
`m获取帮助`
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 `创建一个空的GPT分区表`
G create an IRIX (SGI) partition table `创建一个SGI分区表`
l list known partition types `产看分区类型`
m print this menu `打印帮助信息`
n add a new partition `创建一个新的分区表`
o create a new empty DOS partition table `创建一个新的DOS分区表`
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)
Command (m for help): p
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 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: 0xb60009eb
Device Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 4196351 1048576 83 Linux
/dev/sdb3 4196352 6293503 1048576 83 Linux
Command (m for help): n `创建一个新的分区表`
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): p
Selected partition 4 `分区名称`
First sector (6293504-20971519, default 6293504):
Using default value 6293504
Last sector, +sectors or +size{K,M,G} (6293504-20971519, default 20971519): +1G
Partition 4 of type Linux and of size 1 GiB is set
Command (m for help): p `打印分区信息`
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 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: 0xb60009eb
Device Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 4196351 1048576 83 Linux
/dev/sdb3 4196352 6293503 1048576 83 Linux
/dev/sdb4 6293504 8390655 1048576 83 Linux
Command (m for help): wq `保存新建分区`
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost Packages]# mkf
mkfifo mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.xfs
mkfs mkfs.cramfs mkfs.ext3 mkfs.minix
[root@localhost Packages]# mkfs.ext4 `格式化`
Usage: mkfs.ext4 [-c|-l filename] [-b block-size] [-C cluster-size]
[-i bytes-per-inode] [-I inode-size] [-J journal-options]
[-G flex-group-size] [-N number-of-inodes]
[-m reserved-blocks-percentage] [-o creator-os]
[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]
[-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]
[-t fs-type] [-T usage-type ] [-U UUID] [-jnqvDFKSV] device [blocks-count]
[root@localhost Packages]# mkfs.ext4 /dev/sdb4 `格式化`
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=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: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
`挂载分区`
[root@localhost Packages]# mount /dev/sdb1 /mnt
`查看挂载情况`
[root@localhost mnt]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 4.0G 1.6G 2.5G 40% /
devtmpfs 477M 0 477M 0% /dev
tmpfs 488M 0 488M 0% /dev/shm
tmpfs 488M 7.7M 480M 2% /run
tmpfs 488M 0 488M 0% /sys/fs/cgroup
/dev/sr0 4.2G 4.2G 0 100% /media
/dev/sda1 2.0G 124M 1.9G 7% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sdb1 976M 2.6M 907M 1% /mnt
mkfs创建文件系统工具;
- mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.xfs, mkfs.vfat
fsck检测以及修复文件系统工具;
- fsck.ext2, fsck.ext
dumpe2fs查看文件系统属性;
-
dumpe2fs -h /dev/sdb1//查看文件系统的属性
-
tune2fs调整文件系统特征;
-
tune2fs -l 查看超级块的内容;
-
tune2fs -j指定修改文件系统的属性;
-
tune2fs -m调整预留百分比;
-
tune2fs -o开启或关闭某种默认挂载;
-
tune2fs -L修改卷宗;
mke2fs系统文件系统创建专用管理工具;
-
mke2fs -t指明要创建的文件系统类型;
-
mke2fs -b指明文件系统块大小;
-
mke2fs -L指明卷宗;
-
mke2fs -j创建有日志的文件系统;
-
mke2fs -i指明inode与字节的比率;
-
mke2fs -N直接指明要给此文件系统创建的inode;
-
mke2fs -O以指定的特性创建目标文件系统;
e2label卷标的查看与设定;
resize2fs调整ext2\ext3\ext4文件系统的大小。
-
resize2fs -d打开resize2fs调试特征;
-
resize2fs -f强制执行;
-
resize2fs -F执行前刷新文件系统缓存;
e2fsck磁盘修复。检查时先卸载;
-
e2fsck -a发现问题自动修复;
-
e2fsck -b设定superlock位置;
-
e2fsck -c检查设备是否有坏轨;
-
e2fsck -d输出检查错误信息;
-
e2fsck -f强制检测;
-
e2fsck -l记录坏轨块加入list中;
-
e2fsck -n以只读方式开启档案系统;
-
e2fsck -p关闭互动模式,如果有问题自动修复;
-
e2fsck -v显示详细报告;
-
e2fsck -y启用使用者互动模式;
blkid device获取文件系统的UUID。
swap分区
- swap分区时磁盘的交换区,当当前系统不够用时,需要将物理内存中的部分内容释放出来,以供当前程序去使用,释放的空间可能是长时间未操作的文件系统,释放的空间临时存在swap分区中,等到需要该程序时在从swap中调出使用。
free -m查看当前的交换分区;
swapon -s查看交换分区信息;
`查看设备文件`
[root@localhost ~]# fdisk -l
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 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: 0xb60009eb
Device Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 4196351 1048576 83 Linux
/dev/sdb3 4196352 6293503 1048576 82 Linux swap / Solaris
[root@localhost ~]# 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.
`将类型转化未swap类型`
Command (m for help): t
Partition number (1-3, default 3): 3
Hex code (type L to list all codes): 82
Changed type of partition 'Linux swap / Solaris' to 'Linux swap / Solaris'
Command (m for help): q
`格式化`
[root@localhost ~]# mkswap /dev/sdb3
mkswap: /dev/sdb3: warning: wiping old ext4 signature.
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=4b9107c4-85e2-4cd6-b4dd-3bd074e1049d
`获取uuid进行挂载`
[root@localhost ~]# blkid /dev/sdb3
/dev/sdb3: UUID="4b9107c4-85e2-4cd6-b4dd-3bd074e1049d" TYPE="swap"
[root@localhost ~]# vi /etc/fstab
`读取文件信息`
[root@localhost ~]# swapon -a
`查看swap分区`
[root@localhost ~]# swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 204796 0 -1
/dev/sdb3 partition 1048572 0 -2
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 974 135 589 7 249 654
Swap: 1223 0 1223
文件挂载
- 文件系统分区都需要挂载之后才能使用,文件系统或者设备要想被使用,必须挂载在根文件系统的某个目录下。
mount挂载设备; - mount -r只读挂载;
- mount -w读写挂载;
- mount -n默认情况下,设备挂载或卸载的操作会同步更新至/etc/mtab文件中;-n用于禁止此特性;
- mount -t指明要挂载的设备上的文件系统的类型
- mount -L挂载时以卷标的方式指明设备;
- mount -U挂载以UUID方式挂载;
cat /etc/mtab产看已挂载设备;
umount取消挂载;
查看系统运行的程序
lsof是一个列出当前系统打开的文件工具(必须以root用户的身份运行)。
du显示每个文件和目录的磁盘使用空间;
df显示磁盘可用空间;
挂载文件位置
- /etc/fstab磁盘挂载之后都必须写入该文件中,下次重新启动时系统自动读取/etc/fstab这个文件的内容,根据文件中的配置文件便会自动挂载。
- 挂载限制
- 根目录必须时挂载的,而且一定要先于其他被挂载;
- 挂载点必须是存在的目录;
- 所有挂载点在同一时间只能被挂载一次;
- 所有分区在同一时间只能挂载一次;
- 若要卸载,必须将目录退出挂载点。
总结
- 磁盘分区是很重要的一个内容,要根据所需的功能对磁盘进行分区处理,在格式化的时候,千万不可将文件系统的格式化和swap交换分区的格式化弄错,否则将达不到预期效果。
- 在对磁盘分区之后进行挂载,将文件的配置文件写入到/etc/fstab中重启系统将会自动挂载。