1、fdisk 分区工具介绍
1.linux下最常用的分区工具,一般是装完系统后进行分区。
2.多数都是系统ISO里面的工具分,或者raid里分小磁盘。
3.fdisk只能root权限用户使用
4.fdisk适合对装系统后的剩余空间进行分区
5.fdisk支持mbr分区表
2、fdisk分区都的实质
用fdisk分区的实质,就是0磁头0磁道1扇区的前446字节之后的64字节的分区表信息。
问题:可以使用fdisk分区的磁盘大小必须小于2T,如果大于2T分区就用parted(gpt)。
3、指定虚拟文件系统(dd)
参数:
if 代表输入文件。如果不指定if,默认就会从stdin中读取输入。
of 代表输出文件。如果不指定of,默认就会将stdout作为默认输出。
bs 代表字节为单位的块大小。
count 代表被复制的块数。
/dev/zero 是一个字符设备,会不断返回0值字节(\0)。
组合使用例子:
dd if=/dev/sda of=/dev/sdc bs=512 count=10240
来源 生成文件系统 block大小 块个数
4、fdisk命令使用
1.磁盘分区:
[root@oldboyedu ~]# fdisk /dev/sdb #<==开始给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 0xbc9b0906.
Command (m for help): m #<==查看分区的帮助信息。
Command action
a toggle a bootable flag #<====切换可启动标志
b edit bsd disklabel #<-==编辑bsd磁盘标签
c toggle the dos compatibility flag #<=====切换DOS兼容标志
d delete a partition #<==删除一个分区。
g create a new empty GPT partition table #<=====创建一个新的空GPT分区表
G create an IRIX (SGI) partition table #<=====创建一个IRIX(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 #<===创建一个新的空sun磁盘标签
t change a partition's system id #<====更改分区的系统id
u change display/entry units #<==== 改变 单位
v verify the partition table #<==查看分区表
w write table to disk and exit #<==保存并退出。
x extra functionality (experts only) #<====额外功能
上面是fdisk命令创建分区一些选项内容,可根据自己需要来调整分区数量容量大小
[root@oldboyedu ~]# ls -l /dev/sdb* #<===查看创建好的分区
brw-rw---- 1 root disk 8, 16 Mar 29 11:31 /dev/sdb
brw-rw---- 1 root disk 8, 17 Mar 29 11:31 /dev/sdb1
brw-rw---- 1 root disk 8, 18 Mar 29 11:31 /dev/sdb2
2.然后来格式化ext4文件系统
[root@oldboyedu ~]# mkfs -t ext4 /dev/sdb1 #<====格式化ext4文件系统 mkfs.ext4
其实关键就是生成一定数量的Inode和Block。
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
First data block=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
以下省略。。。。。
3.临时挂载
[root@oldboyedu ~]# mount /dev/sdb1 /mnt #临时挂载到/mnt
[root@oldboyedu ~]# df -h #查看挂载结果
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 1.9G 18G 10% /
devtmpfs 980M 5.0M 975M 1% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 18M 973M 2% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sda1 253M 136M 118M 54% /boot
tmpfs 199M 0 199M 0% /run/user/0
tmpfs 199M 0 199M 0% /run/user/1000
/dev/sdb1 93M 1.6M 85M 2% /mnt #<====已挂载。
[root@oldboyedu ~]# cat /proc/mounts #<==查看挂载结果
rootfs / rootfs rw 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
configfs /sys/kernel/config configfs rw,relatime 0 0
/dev/sda3 / xfs rw,relatime,attr2,inode64,noquota 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=32,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=19277 0 0
hugetlbfs /dev/hugepages hugetlbfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
mqueue /dev/mqueue mqueue rw,relatime 0 0
/dev/sda1 /boot xfs rw,relatime,attr2,inode64,noquota 0 0
tmpfs /run/user/0 tmpfs rw,nosuid,nodev,relatime,size=202812k,mode=700 0 0
tmpfs /run/user/1000 tmpfs rw,nosuid,nodev,relatime,size=202812k,mode=700,uid=1000,gid=1000 0 0
/dev/sdb1 /mnt ext4 rw,relatime,data=ordered 0 0 #<==已挂载。
[root@oldboyedu ~]# touch /mnt/oldboy #<==测试。
[root@oldboyedu ~]# ls /mnt
lost+found oldboy
[root@oldboyedu ~]# umount /mnt #<===删除挂载点
挂载成功就可以访问了,这就是全部的分区过程,这是临时挂载,也可以加入到开机自动挂载,/etc/fstab 是开机自动挂载文件,也可以放到/etc/rc.local 实现挂载,但不完美,所以不推荐。
5、fsck 命令 (磁盘检查和修复)
参数 -a 修复磁盘
注意事项:
1、正常的磁盘不能操作。
2、卸载挂载点在操作
[root@oldboyedu ~]# fsck -a /dev/sdb1 #<===修复磁盘
[root@oldboyedu ~]# e2fsck /dev/sdb1 #<===同上
6、mkfs 格式化
参数:
-t 指定类型
-b 指定block大小
-I 指定inode大小
[root@oldboyedu ~]# mkfs -t ext4 -b 4096 -I 512 /dev/sdb3
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
38400 inodes, 38400 blocks
1920 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=39845888
2 block groups
32768 blocks per group, 32768 fragments per group
19200 inodes per group
Superblock backups stored on blocks:
32768
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
7、parted分区:
1.无法支持超过2TB的硬盘的分区(或单个分区超过2TB).
2.如果大于2TB推荐GPT分区概念
3.GPT分区表很好的解决了MBR无法逾越2TB的分区方式,但是传统的fdisk命令无法支持gpt分区方式。
8、简单举例(改成gpt分区):
[root@oldboyedu ~]# parted /dev/sdb #交互式开始分区
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help
(parted) mklabel gpt #修改分区格式为gpt
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to
continue?
Yes/No? Yes
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 1074MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt #修改结果
(parted) mkpart primary 0 480 #创建第一个主分区480M。
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? Ignore #忽略提示。
(parted) mkpart primary 481 580 #创建第二个主分区100M。
Warning: You requested a partition from 481MB to 580MB (sectors 939453..1132812).
The closest location we can manage is 481MB to 481MB (sectors 940031..940031).
Is this still acceptable to you?
Yes/No? Y
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I #忽略提示。
(parted) mkpart logic 581 600 #创建一个20M逻辑分区。
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 1074MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 480MB 480MB primary
3 481MB 481MB 512B primary
2 481MB 580MB 98.6MB primary
4 581MB 600MB 18.9MB logic
(parted) rm 4 #删除
(parted) p
问题需求:刚买的服务器 4块2T 刚买,要做RAID5,装系统怎么搞定?
方法1:Raid制作视频,Raid里可以支持RAID5后,6T,允许你把6T分成虚拟磁盘。
200G分成第一个虚拟磁盘剩下不分留着装系统后(parted)。
方法2:装系统过程中有这个功能,系统镜像支持GPT格式分区,很隐蔽。
方法3:引导工具,进入然后用parted分区。
9、修改分区格式:
(parted) mklabel msdos #<====可以改你需要的分区格式(这里改回dos)
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to
continue?
Yes/No? Y
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 1074MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
内容总结:
文件系统:
1、什么是文件系统
计算机存储和组织数据的方法或机制。
2、为什么需要文件系统?
磁盘、物理介质、磁粒子物理元素。硬件需要软件驱动使用,磁盘需要文件系统驱动。
文件系统实现通过磁盘管理规划、存取数据。
3、文件系统有哪些种类?
windows :NTFS \Fat32\ Msdos
Linux: ext2 ext3 ext4(c6)
4、创建文件系统实践: