|NO.Z.00045|——————————|LinuxBasicEnd|——|Linux&磁盘管理.V04|
一、fdisk 命令手工分区
| fdisk交互指令说明 | |
| a | 设置可引导标记 |
| b | 设置bsd磁盘标签 |
| c | 设置DOS操作系统兼容标记 |
| d | 删除一个分区 |
| I | 显示已知的文件系统类型,82为Linux swap分区,83为Linux分区 |
| m | 显示帮助菜单 |
| n | 新建分区 |
| o | 建立空白DOS分区表 |
| p | 显示分区列表 |
| q | 不保存退出 |
| s | 新建空白SUN磁盘标签 |
| t | 改变一个分区的系统ID |
| u | 改变显示记录单位 |
| v | 验证分区表 |
| w | 保存退出 |
| x | 附加功能(仅专家) |
二、fdisk 命令手工分区
### --- fdisk 命令手工分区
~~~ n---p 主----1 分区号----1 起始柱面-----分区大小+100M-----w
~~~ n---e 扩展---2 分区号---124 起始柱面----1024 柱面(所有剩余空间都分配给扩展分区)
~~~ n---l 逻辑---不用指定分区号---124 起始柱面----+100M(指定大小)-----w
### --- 有时因为系统的分区表正忙,则需要重新启动系统之后才能使新的分区表生效。
Command (m for help): w // 保存退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16:
Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot. // 要求重启动,才能格式化
Syncing disks.
三、partprobe
### --- partprobe
~~~ 强制重读所有分区文件,重新挂载分区文件内所有分区。
~~~ 这不是分区必须命令,如果没有提示重启,可以不执行,
~~~ 也可以重启系统(Warning: Unable to open /dev/hdc read-write (Read-only file system). /dev/hdc hasbeen opened read-only.
~~~ 光盘只读挂载,不是错误,不用紧张)
~~~ 如果这个命令不存在请安装 parted-2.1-18.el6.i686 这个软件包
### --- 格式化 建立文件系统 ext3 是 linux 默认文件系统
~~~ mkfs 命令非常简单易用,
~~~ 不过是不能调整分区的默认参数的(比如块大小是 4096),这些默认
~~~ 参数除非特殊情况,否则不需要调整,
~~~ 如果想要调整就需要使用 mke2fs 命令进行重新格式化,命令
mkfs -t ext4 /dev/sdb1
mkfs -t ext4 /dev/sdb5
### --- 格式如下:
### --- 选项:
~~~ -t 文件系统: 指定格式化成哪个文件系统,如 ext2,ext3,ext4
~~~ -b 字节: 指定 block 块的大小
~~~ -i 字节: 指定“字节/inode”的比例,也就是多少个字节分配一个 inode
~~~ -j: 建立带有 ext3 日志功能的文件系统
~~~ -L 卷标名: 给文件系统设置卷标名,就不使用 e2label 命令设定了
[root@localhost ~]# mke2fs [选项] 分区设备文件名
### --- 举个例子:
~~~ 格式化分区,并指定 block 的大小为 2048
[root@localhost ~]# mke2fs -t ext4
### --- 建立挂载点
~~~ mkdir /disk1-----------------/dev/sdb1 把 sdb1 打算挂载到/disk1 目录中
mkdir /disk5----------------/dev/sdb5
### --- 挂载
mount /dev/sdb1 /disk1
mount /dev/sdb5 /disk5
### --- 查看
mount // 查看所有已经挂载的分区和光盘
fdisk -l // 查看系统分区
df // 查看分区占用百分比
### --- 自动挂载
~~~ 修改分区自动挂载文件
vi /etc/fstab // 注意:此文件直接参与系统启动,如果修改错误,系统启动报错
/dev/sdb1 /disk1 ext3 defaults 1 2
~~~ 第一列: 设备文件名
~~~ 第二列 挂载点
~~~ 第三列 文件系统
~~~ 第四列 挂载选项
~~~ 第五列 1 是否可以被备份 0 不备份 1 每天备份 2 不定期备份
~~~ 第六列 2 是否检测磁盘 fsck 0 不检测 1 启动时检测 2 启动后检测
~~~ 也可以使用 UUID 进行挂载,UUID(硬盘通用唯一识别码,可以理解为硬盘的 ID)
~~~ 这个字段在 CentOS 5.5 的系统当中是写入分区的卷标名或分区设备文件名的,
~~~ 现在变成了硬盘的 UUID。这样做的好处是当硬盘增加了新的分区,
~~~ 或者分区的顺序改变,再或者内核升级后,任然能够保证分区能够正确的加载,
~~~ 而不至于造成启动障碍那么每个分区的 UUID 到底是什么呢?
~~~ 我们讲过的 dumpe2fs 命令是可以查看到的,命令
### --- 如下:
[root@localhost ~]# dumpe2fs /dev/sdb5
~~~ 或
[root@localhost ~]# ls -l /dev/disk/by-uuid/
重启测试
~~~ 或 mount -a
~~~ 重新挂载所有内容,用它进行测试
四、实验专题;手工分区
### --- 添加一块新的硬盘:
[root@server21 ~]# lsblk
sdb 8:16 0 100G 0 disk // sdb是一块全新的硬盘,没有做任何分区
### --- 为sdb2分区
[root@server21 ~]# fdisk /dev/sdb
~~~ 分主分区
Command (m for help):m // m表示获取帮助
Command (m for help): p // 打印分区信息
Command (m for help): l // l可以查看到分区号是哪一个;默认不写就是标准分区,83ID号
Command (m for help): n // n新建分区
Command action
e extended // 扩展分区
p primary partition (1-4) // 主分区1个主分区,在主分区下新建扩展分区
p // 新建主分区
Partition number (1-4): 1 // 选择主分区号,建议不要跳,若是跳过前面的会不可以使用,最好从1开始
First cylinder (1-13054, default 1): // 选择其实柱面;一圈柱面大概80多兆;默认是从第1个柱面开始分
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-13054, default 13054): +20G // 允许可以写成字节数,柱面大小自己可以定义;最小分区单位是81个兆;加字节单位才是按大小来算的,若是不加柱面是按柱面来算
Command (m for help): p
Device Boot Start End Blocks Id System
/dev/sdb1 1 2612 20980858+ 83 Linux // 第一个新建完成
~~~ 分扩展分区;把剩余所有空间给扩展分区
e
Partition number (1-4): 2
First cylinder (2613-13054, default 2613):
Using default value 2613
Last cylinder, +cylinders or +size{K,M,G} (2613-13054, default 13054):
Using default value 13054
Command (m for help): p
Device Boot Start End Blocks Id System
/dev/sdb1 1 2612 20980858+ 83 Linux
/dev/sdb2 2613 13054 83875365 5 Extended
~~~ 逻辑分区
Command (m for help): n
Command action
l logical (5 or over) // 创建完扩展分区,就会显示l逻辑分区
p primary partition (1-4)
~~~ 省略了选择磁盘ID号的过程
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (2613-13054, default 2613):
Using default value 2613
Last cylinder, +cylinders or +size{K,M,G} (2613-13054, default 13054): +2G
Command (m for help): p
Device Boot Start End Blocks Id System
/dev/sdb1 1 2612 20980858+ 83 Linux
/dev/sdb2 2613 13054 83875365 5 Extended
/dev/sdb5 2613 2874 2104483+ 83 Linux
Command (m for help): w // 保存退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
### --- 报错:Device or resource busy:需要重启后会生效,说明分区表正忙。
### --- 但是不会影响分区操作
[root@server21 ~]# lsblk
sdb 8:16 0 100G 0 disk
├─sdb1 8:17 0 20G 0 part
├─sdb2 8:18 0 1K 0 part
└─sdb5 8:21 0 2G 0 part
[root@server21 ~]# fdisk -l
Device Boot Start End Blocks Id System
/dev/sdb1 1 2612 20980858+ 83 Linux // 可以格式化
/dev/sdb2 2613 13054 83875365 5 Extended // 不可以格式化;因为它是扩展分区
/dev/sdb5 2613 2874 2104483+ 83 Linux // 可以格式化
### --- 格式化
[root@server21 ~]# mkfs -t ext4 /dev/sdb1 // mkfs不可以调整数据库大小
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
[root@server21 ~]# mkfs -t ext4 /dev/sdb5
~~~ mke2fs // 可以调整数据块大小
[root@server21 ~]# fdisk -l
Device Boot Start End Blocks Id System
/dev/sdb1 1 2612 20980858+ 83 Linux
/dev/sdb2 2613 13054 83875365 5 Extended
/dev/sdb5 2613 2874 2104483+ 83 Linux
### --- 挂载
[root@server21 ~]# mkdir /disk1
[root@server21 ~]# mkdir /disk5
[root@server21 ~]# mount /dev/sdb1 /disk1
[root@server21 ~]# mount /dev/sdb1 /disk5
[root@server21 ~]# mount
/dev/sdb1 on /disk1 type ext4 (rw)
/dev/sdb1 on /disk5 type ext4 (rw)
[root@server21 ~]# df -h
/dev/sdb1 20G 44M 19G 1% /disk1
/dev/sdb1 20G 44M 19G 1% /disk5
~~~ 分区分号之后,理论上分区大小是不可以调整的
### --- 添加自动挂载
~~~ 自动挂载,只允许把固定设备添加自动挂载;挂载可以为磁盘分区号或者UUID
~~~ 查询磁盘的UUID
[root@server21 ~]# vim /etc/fstab
[root@server21 ~]# ll /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 Feb 4 10:14 11baea76-8f6e-4a32-acd5-3a269ca6b319 -> ../../sdb5
lrwxrwxrwx 1 root root 10 Feb 4 10:14 c0f09e0d-9507-4083-bfd7-4ae872021028 -> ../../sdb1
[root@server21 ~]# vim /etc/fstab
UUID=c0f09e0d-9507-4083-bfd7-4ae872021028 /disk1 ext4 defaults 0 0
UUID=11baea76-8f6e-4a32-acd5-3a269ca6b319 /disk5 ext4 defaults 0 0
OR
/dev/sdb1 /disk1 ext4 defaults 0 0
/dev/sdb5 /disk5 ext4 defaults 0 0
~~~ 设备文件名:挂载点:文件系统:挂载选项:1是否可以被备份,0不备份,1每天备份,
~~~ 2不定期备份:2是否检测磁盘fsck,0不检测,1启动时检测2启动后检测;
~~~ #只有/分区在启动时会去检测,其他磁盘不需要添加检测
### --- 重启验证
[root@server21 ~]# mount
/dev/sdb1 on /disk1 type ext4 (rw)
/dev/sdb5 on /disk5 type ext4 (rw)
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
浙公网安备 33010602011771号