磁盘分区需要知道的概念

首先分区有两种分区方式
MBR
现在主流的分区方式 分区不超过2T
0磁道0扇区
该区的大小为512bytes,专门用来存放MBR ,MBR又分为三类:
  446bytes :存储boot loader 引导加载器
  64bytes  :存储分区表,有多少个分区,每个分区从哪里开始从哪里结束,其中设16bytse标识为一个分区,所以一块硬盘最多只能有四个主分区,如果需要超出四个分区可以分为三个主分区一个扩展分区,一个扩展分区里可以分N个逻辑分区。
  2bytes   :前面信息的有效标识(结束符),用四个16进制来表示55AA,表示前面的510bytes是有效的,很重要。
 
GPT
将来的主流分,主要针对大容量硬盘分区。支持128个分区,最大可支持64Z大小的分区。
管理分区的三种方式
  fdisk:创建MBR分区
  gdisk:创建GPT分区
  parted:高级分区操作(创建、复制、调整大小等等)分区是实时的 就是说你执行了一个分区的命令那就真的分区了,而不会像fdisk那样需要执行w命令写入所做的修改,所以parted的测试千万注意不能再生产环境中!
 
文件系统分为
  日志型文件系统:ext3、ext4、xfs.....
  非日志型文件系统:ext2、vfat
  这里提一下VFS,虚拟文件系统,虚拟化层,统一接口,方便调用各种不同的文件系统
创建ext文件系统
  mkfs.文件系统名 /设备路径
 
 
 
mke2fs :创建文件系统 ext系列文件专用工具
  -t :{ext2|ext3|ext4}
  -b :指定块大小 有三种形式1024,2048,4096.一般默认
  -N :为数据空间创建多少个inode 一般默认
  -m :为管理人员预留空间占用的百分比 默认5% 修改支持小数点
  -O : 启用指定特性
  -O ^FEATURE : 关闭指定特性
  tune2fs -l /dev/sdb1 查看系统支持的特性
      tune2fs -O ^has_journal /dev/sda9 移除特性
     tune2fs -O +has_journal /dev/sda9 添加特性
   -o:修改ACL   
     tune2fs -o acl /dev/sda9
     tune2fs -o ^acl /dev/sda9
 
tune2fs : 重新设定ext系列文件系统可调整参数的值
  -l : 查看指定文件系统超级块信息 super block
  -L :修改卷标
  -m:预留给管理员的空间百分比
  -o :调整文件系统的默认挂载选项
  -U :修改UUID号
 
fsck 文件系统检测和修复 (只能修复系统 数据很有可能不能修复)
  -p :自动修复错误
  -r :交互式修复错误
 
e2fsck ext系列文件专用的检测修复工具
  -y :自动回答为yes
  -f :强制修复
 
mount 挂载
注意事项
***挂载点进程正在被使用无法卸载
***事先存在 并使用空目录挂载 如果使用已挂载的文件重复挂载那之前的文件会隐藏 卸载后才可看到
 
挂载
mount /dev/sda1 /mnt/sda1
把/dev/sda1 挂载到/mnt/sda1
 
文件挂载
findmnt 检查已挂载的文件的系统
losetup -a 查看centos6的 loop挂载关系 7以上不用加-a
 
umount /dev/sda1
卸载挂载 (卸载时有别人在进程里是不能卸载的)
fuser 专门看挂载点的进程
  -v 查看谁在进程里
  -km 把所有进程踢出去
  (不到万不得已不要踢别人出去,这样别人会丢失数据。如果需要卸载可以提前发通知维护系统)
  -r :只读挂载 挂载的文件只能读 任何人没有权限修改 对一些特殊设备使用这种方式t
  -w :读写挂载
  -n :隐藏挂载 只有用“cat /proc/mounts”才能显示出来
  -B :把一个目录挂载到另一个目录上    
    例:mount -B /APPS /etc/APPS1
 
mount常用挂载选项
  mount :查看所有挂载点 mnt专门存放挂载点
  async : 异步模式 内存日志是定时更新 效率高
  tail 查看文件日志 /var/log/messages 目录
  sync :同步模式 内存更改时 同时写磁盘 效率慢 有保障
  atime/noatime: 是否更新访问时间
    atime 延迟时间 在两种情况下会修改
      时间超过一天以上未被访问 下次访问时会修改
      mtime时间比atime时间新 在下次访问时会修改
  touch 创建文件 如果文件已经已经存在 则修改文件的三个时间
  auto/noauto : 是否支持自动挂载
  exec/noexec : 是否支持将文件系统上运行应用程序
  dev/nodev :是否支持在此文件系统上使用设备文件
  suid/nosuid:是否支持suid和sgid权限
  remount :重新挂载 一般很少会卸载在挂载 会直接从新挂载
  ro:只读
  rw:读写
  user/nouser:是否允许普通用户挂载此设备,默认管理员才能挂载  
  acl:启用此文件系统上的访问控制列表功能
  Defaults:相当于rw、nosuid、dev、exec、auto、nouser、async 。
 
以上所有的挂载都是临时的 服务器重启之后就会自动取消挂载,需要把文件写入/etc/fstab 这个配置文件中
 
挂载之后使用mount -a 生效文件内挂载
 
uuidgen 生成新的UUID
 
lsblk:查看内存中的分区表 不会实时同步
blkid :查看UUID分区
disk :真实硬盘分区表 实时生效
 
swap分区
用硬盘分区创建swap分区 如果特殊情况下可以用文件创建 ,一般大小为内存的两倍,高性能磁盘存放。
swap一些选项
  swapon -a 激活新安装的swap
  swapon -s 谁提供了swap
  swapoff 关闭swap
 
lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。找回/恢复删除的文件。是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需要root用户执行
 

分区实验

~]# lsblk  ##首先准备一块新硬盘 下面可以显示为sdb
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 3.7G 0 rom
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 99.5G 0 part
├─vg_xiao-lv_root (dm-0) 253:0 0 50G 0 lvm /
├─vg_xiao-lv_swap (dm-1) 253:1 0 4G 0 lvm [SWAP]
└─vg_xiao-lv_home (dm-2) 253:2 0 45.6G 0 lvm /home
sdb 8:16 0 2G 0 disk     ##新硬盘

]# cat << EOF | fdisk /dev/sdb  ##给磁盘分区  ,可以使用交互式 这里这样写方便
> n   ## 创建一个新的分区
> p   ## 分区列表
> 1   ## 因为是新硬盘,磁盘最多可以分四个 这里选1 (这里为交互式模式下的提示,可选为1-4Partition number (1-4): 1)
>   ##起始位置,可选磁盘块位置,默认直接回车是从当前位置开始分
> +1K   ##可以指定结束块的数字,也可以直接指定分区大小,直接指定大小方便一点
> w   ##保存退出
> EOF   ##这里是模式的匹配字符 ,匹配到这个字符自动退出

~]# lsblk   ##查看分区已经分配成功
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 3.7G 0 rom
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 99.5G 0 part
├─vg_xiao-lv_root (dm-0) 253:0 0 50G 0 lvm /
├─vg_xiao-lv_swap (dm-1) 253:1 0 4G 0 lvm [SWAP]
└─vg_xiao-lv_home (dm-2) 253:2 0 45.6G 0 lvm /home
sdb 8:16 0 2G 0 disk
└─sdb1 8:17 0 7.8M 0 part   ##这里是分的区,为sdb硬盘下的sdb1

~]# mkfs.ext4 /dev/sdb1  ##格式化分区

~]# blkid /dev/sdb1  ##查看分区为ext4系统
/dev/sdb1: UUID="b5d58031-1b6f-46af-bd4e-d1c5cbb179e9" TYPE="ext4"

 

 

 
小技巧
fdisk -l   ##查看磁盘中的分区表
lsblk     ##查看内存中的分区表 查看结果有可能不统一
 
查看分区的路径  ##相当于执行命令,查看的是内存中的分区表
     /proc/partitions
     /dev/sd*
 
分区不同步同步方法,如果不同步后续操作会失败,系统的操作时是基于内存的  不是基于磁盘
 CentOS6   
     增加分区
         partx -a  /dev/sdb
    删除分区
          partx -d --nr 5-7 /dev/sdb
 
CentOS7|5
     partprobe 
posted @ 2017-04-23 23:16  虚幻的光荣椿  阅读(681)  评论(0编辑  收藏  举报