linux笔记_磁盘分区
一、分区的意义
1、不同操作系统往往不可以同时装载在同一个分区,分区解决了不同操作系统装载在同一个物理硬盘的兼容性问题
2、机械硬盘盘片外圈读写速度相对内圈要快,分区可以把常用数据限制在读写速度较快的盘片外圈
3、分区会减少文件系统的文件碎片,提高磁盘子系统工作效率
4、方便文件分类管理,提高磁盘空间的使用效率
5、分区可提高数据的安全性,防止数据丢失
一块硬盘最多只能有四个主分区(主分区+扩展分区最多只能有四个),分区号也是1到4,逻辑分区要等扩展分区建立后才能创建,逻辑分区的分区号从5开始,扩展分区既不能被格式化也不能写入数据;本人习惯将硬盘分为一主一扩展,扩展分区内根据个人习惯增加。
二、fdisk交互指令说明
a 设置可引导标记
b 编辑BSD磁盘标签
c 设置DOS操作系统兼容标记
d 删除一个硬盘分区
l 列出所有支持的分区类型,82位linux swap分区
m 列出所有命令
n 添加一个新的分区
o 建立空白DOS分区表
p 列出硬盘分区表
q 不保存退出
s 新建空白SUN磁盘标签
t 更改分区类型(改变一个分区的系统ID)
u 改变显示记录单位
v 验证分区表
w 保存退出
x 附加功能
三、创建一个linux主分区
# fdisk /dev/sdb 对sdb硬盘进行分区
分区创建过程n--->p--->1--->+5G 创建了一个5G的主分区
最后按w保存分区表
w保存退出后执行partprobe(CentOS5)重新读取分区表(免于重启)
partprobe命令属于parted包,最小化安装的系统需要先安装parted包才能够使用partprobe命令。
CentOS 6:partx,kpartx(如果是新硬盘直接partx -a /dev/sda即可)
kpartx -l /dev/sda
kpartx -af /dev/sda
partx -a /dev/sda
# mkfs -t ext4 /dev/sdb1 格式化sdb1
或者:
# mke2fs -t ext4 -b 1024 -m 1 -L database /dev/sdb1
-t:指定文件系统类型
-b:指定块儿的大小
-m:指定分区保留多大空间1是1%的意思
-L:指定标签的名称
# mkdir /database 创建挂载目录
# mount /dev/sdb1 /database/ 将/dev/sdb1挂在到/database/目录
分区自动挂载
# vim /etc/fstab
fstab文件说明
第一字段:分区设备文件名或UUID(硬盘通用唯一识别码)
查看UUID的方法:# dumpe2fs /dev/sdb1 | more
第二字段:挂载点
第三字段:文件系统名称
第四字段:挂载参数
第五字段:指定分区是否被dump备份,0代表不备份,1代表每天备份,2代表不定期备份
备份目录是:lost+found
第六字段:指定分区是否被fsck检测,0代表不检测,其他数字代表检测的优先级,1的优先级比2高。
例如将sdb1分区设置为开机自动挂载:
配置完该文件后一定要用mount -a检测一下,没有提示说明挂载成功
使用mount(或者df命令)可以查看分区是否挂载成功
如果将fstab文件写错那恭喜你只能去本地计算机手工修复了,输入root密码后将根分区挂载为只读方式才能够修改fstab文件# mount -o remount,rw /
四、分配swap分区
新建swap分区
通过t键键分区号改为swap分区swap分区号(82)
t change a partition's system id
w保存退出后执行partprobe重新读取分区表(免于重启)
# mkswap /dev/sdb5 格式化
# swapon /dev/sdb5 加入swap分区
若想取消swap分区(释放swap分区数据)# swapoff /dev/sdb5该命令是将swap中的数据是放到内存当中,因此在执行时可用内存要大于要释放的数据。
swap分区自动挂载
# vim /etc/fstab
# mount –a 检测文件是否正确
五、卷标的意义与设置方法
设置卷标的意义
1、方便识别
2、如果硬盘scsi | ide接口顺序发生变化,如果是按卷标挂载的将不受影响
3、卷标名称不能同名
设置方法
# e2label /dev/sdb1 backup 给/dev/sdb1取个卷标的名字叫backup
# mount -L "backup" /database 将backup挂载到/database
开机自动挂载
六、格式化大于2T硬盘
确保超过2T的硬盘位单独的磁盘,可以使用如下命令进行格式化:
# parted –s /dev/sdb mklabel gpt
# mkfs.ext4 /dev/sdb
mount /dev/sdb /data
或者使用如下命令也可以
parted-->select /dev/sdb-->mklabel gpt-->mkpart primary 0 -1-->print