Swift51.com
麦子学院 头像
麦子学院  2017-04-29 21:18

Linux学习之磁盘分区格式化详解

回复:0  查看:2791  
本文和大家分享的主要是linux 中磁盘分区格式化相关内容,一起来看看吧,希望对大家 学习linux有所帮助。
   磁盘分区
  分区格式的两种选择:MBR GPT
   分区命令:
   parted的操作都是实时生效的,小心使用,主要是用于大于2T硬盘,支持MBRGPT两种格式。
  用法:parted [ 选项 ]… [ 设备 [ 命令 [ 参数
  parted /dev/sdb mklabelgpt|msdos  //选择分区格式
  parted /dev/sdb print  //查看分区
  parted /dev/sdb mkpart primary 1 200  (默认 M )  // 分出一个 199M 的分区
  parted /dev/sdb rm1 // 删除分区 1
  parted /dev/sdb mklabel  gpt
  parted /dev/sdb mkpart primary 1 1G
  parted /dev/sdb  print
  parted /dev/sdb mkpart primary 1001 20G
  parted /dev/sdb mkpart logical 20G 80G
  parted /dev/sdb rm 1
   gdisk 主要是去分GPT格式 (支持2T以上)
  gdisk -l [-u] [device…]
  子命令:
  · p  分区列表
  · t  更改分区类型
  · n  创建新分区
  · d  删除分区
  · w  保存并退出
  · q  不保存并退出
  gdisk   /dev/sdb
  Command (? for  help): n  Partition number (3-128,  default 3):3  First sector (34-419430366,  default = 44042240)  or{+-} size{KMGTP}:  Last sector (44042240-419430366,  default = 419430366)  or {+-} size{KMGTP}: +20g  Hex code  or GUID (L to  show codes, Enter = 8300): 一个 ID 号,默认就好
  Command (?  for  help): p Command (?  for  help):w  存盘退出
   fdisk MBR格式(2T以下推荐使用)
  fdisk -l [-u] [device…]
  子命令:
  · p  分区列表
  · t  更改分区类型
  · n  创建新分区
  · d  删除分区
  · w  保存并退出
  · q  不保存并退出
  fdisk /dev/sdb
  Command (m for  help): m Command (m  for  help): n  Partition  type: p primary (0 primary, 0  extended, 4 free) e  extended Select ( default p): p  Partition number (1-4,  default 1): 1  First sector (2048-419430399,  default 2048):  Last sector, +sectors  or+ size{K,M,G} (2048-419430399,  default 419430399):+1G( 必须严格区分大小写 )
  Command (m  for  help): p Command (m  for  help): w
  fdisk  实现非交互式分区:
  echo -e "n\np\n1\n\n+1G\nw\n"  |fdisk /dev/sdb
  echo -e  激活转义符
  · \a  发出警告声
  · \n  回车
  查看机器上有几个分区的方法:
  · lsblk
  · fdisk -l
  · ls /dev/sd*
  · cat /proc/partitions
  · echo ‘- > /sys/class/scsi_host/host2( 可能不止一个 )/scan
  同步分区信息:
  cetos 5 或者 partprobe -重新设置内存中的内核分区表版本
  centos6 :
  新增分区同步: partx -a /dev/sda
  删除分区同步: partx -d –nr 7-8 /dev/sda
  查工具来自哪个包:
  yum list |grep xfs  找安装包
  MBR GPT 格式相互转换:
  parted /dev/sdb mklabel msdos
  注意:分区名称不稳定  分区同步问题  执行完每个命令一定要看下,验证下结果,再做下一步。
   文件系统
  文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统。
  Linux 文件系统: ext2(Extended file system), ext3, ext4, xfs SGI , btrfs Oracle , reiserfs, jfs AIX , swap
  光盘:iso9660
  Windows fat32, ntfs
  Unix: FFS fast , UFS unix , JFS2
  网络文件系统:NFS, CIFS
  集群文件系统:GFS2, OCFS2 oracle
  分布式文件系统:fastdfs,ceph, moosefs, mogilefs, glusterfs, Lustre
  RAW :未经处理或者未经格式化产生的文件系统
  说明:
  centos 7  默认  XFS
  centos 6  默认  ext4
  centos 5  默认
  ext3ext2 ext3 相差一个日志功能( journal
  blkid  查看当前系统已有文件系统
   创建文件系统
  mkfs 命令:
  mkfs.FS_TYPE/dev/DEVICE
  [root@centos6: /root]# mkfs.ext4 /dev/sdb1  [root@centos6: /root]# blkid /dev/sdb1: UUID="fe5ae367-e43e-4a1e-b94e-43a472e3c941" TYPE="ext4"
  mke2fs ext 系列文件系统专用管理工具
  -t {ext2|ext3|ext4}
  -b {1024|2048|4096}
  -L ‘LABEL’
  -j:  相当于 -t ext3
  mkfs.ext3 = mkfs-t ext3 = mke2fs -j = mke2fs -t ext3
  -i#:  为数据空间中每多少个字节创建一个 inode ;此大小不应该小于 block 的大小
  -N # :为数据空间创建个多少个 inode
  -I  一个 inode 记录占用的磁盘空间大小, 128—4096
  -m #:  默认 5%, 为管理人员预留空间占总空间的百分比
  -O FEATURE[,…] :启用指定特性
  -O ^FEATURE :关闭指定特性
  [root@centos6: /root]# mke2fs -t ext3 -b 4096 -L /mnt/sdb3 -i 8192 -m 3 /dev/sdb3
  blkid :块设备属性信息查看
  -U UUID:  根据指定的 UUID 来查找对应的设备
  [root@centos6: /root]# blkid -U 7e927cef-2b89-4091-a5ec-6170b0fbedb3 /dev/sda6
  -L LABEL :根据指定的 LABEL 来查找对应的设备
  [root@centos6: /root]#mkfs.ext4 -L /mnt/sdb2 /dev/sdb2 // 给设备 /dev/sdb2 创建一个卷标 /mnt/sdb2
  [root@centos6: /root]# blkid /dev/sdb2: LABEL="/mnt/sdb2" UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a"TYPE="ext4" [root@centos6: /root]# blkid -L /mnt/sdb2
  /dev/sdb2
  e2label :管理 ext 系列文件系统的 LABEL
  e2label DEVICE [LABEL]
  [root@centos6: /root]# blkid /dev/sdb2: LABEL="/mnt/sdb2" UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a" TYPE="ext4" [root@centos6: /root]# e2label  /dev/sdb2 /app/sdb2 [root@centos6: /root]# blkid /dev/sdb2: LABEL="/app/sdb2" UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a" TYPE="ext4"
  findfs :查找分区
  findfs[options] LABEL=
  [ root@centos6: /root]# findfs LABEL="/app/sdb2" /dev/sdb2
  findfs[ options] UUID=
  [ root@centos6: /root]# findfs UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a" /dev/sdb2
  dumpe2fs:
  · -h :查看超级块信息,不显示分组信息
   [root@centos6: /root]# dumpe2fs /dev/sdb1
   文件修复
  ·  常发生于死机或者非正常关机之后 挂载为文件系统标记为 “no clean”  注意:一定不要在挂载状态下修复
  fsck: File System Check
  fsck-t FS_TYPE
  -p:  自动修复错误
  -r:  交互式修复错误
  FS_TYPE 一定要与分区上已经文件类型相同
  e2fsck ext 系列文件专用的检测修复工具
  -y :自动回答为 yes
  -f :强制修复
   fsck /dev/sdb2 -y
  注意:修复操作生产中慎用,尽量请专业公司来修复。
   挂载
  挂载: 将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为
  卸载: 为解除此关联关系的过程
  把设备关联挂载点:mount Point
  卸载时:可使用设备,也可以使用挂载点 umount
  挂载点下原有文件在挂载完成后会被临时隐藏
  挂载点目录一般为空
  挂载前一点要先查看下挂载情况,一旦已经挂载某个设备的目录,一定不要去挂载其他设备,不然以前目录下设备的文件被隐蔽工程,导致以前目录中文件无法访问,严重话可能会导致部分服务宕机。
  用mount 命令挂载文件系统
  mount [-fnrsvw] [-t vfstype] [-o options] device dir
  device :指明要挂载的设备;
  (1)  设备文件:例如 /dev/sda5
  (2)  卷标: -L ‘LABEL’,  例如 -L ‘MYDATA’
  (3) UUID, -U ‘UUID’ :例如 -U ‘0c50523c-43f1-45e7-85c0-a126711d406e’
  (4)  伪文件系统名称: proc, sysfs, devtmpfs, configfs
  注意:
  · dir :挂载点 事先存在;建议使用空目录
  ·  进程正在使用中的设备无法被卸载
  #  mount /dev/sdb1 /mnt/sdb1 // 挂载  #  df // 查看  /dev/sdb1 999320 2564 927944 1% /mnt/sdb1
  mount 常用命令选项
  · -t vsftype :指定要挂载的设备上的文件系统类型
  · -r: readonly ,只读挂载
  · -w: read and write,  读写挂载
  · -n:  不更新 /etc/mtab mount 不可见(隐藏挂载,只能使用 cat /proc/mounts
  · -a :自动挂载所有支持自动挂载的设备 ( 定义在了 /etc/fstab 文件中,且挂载选项中有 auto 功能 )
  · -L ‘LABEL’:  以卷标指定挂载设备
  · -U ‘UUID’:  UUID 指定要挂载的设备
  · -B, –bind:  绑定目录到另一个目录上
  查看内核追踪到的已挂载的所有设备: cat /proc/mounts
  -o options ( 挂载文件系统的选项 ) ,多个选项使用逗号分隔
  async :异步模式
  sync :同步模式 , 内存更改时,同时写磁盘
  atime/noatime :包含目录和文件
  diratime/nodiratime :目录的访问时间戳
  auto/noauto :是否支持自动挂载 , 是否支持 -a 选项
  exec/noexec :是否支持将文件系统上运行应用程序
  dev/nodev :是否支持在此文件系统上使用设备文件
  suid/nosuid :不否支持 suid sgid 权限
  remount :重新挂载
  ro :只读
  rw :读写
  user/nouser :是否允许普通用户挂载此设备,默认管理员才能挂载
  acl :启用此文件系统上的 acl 功能
  Defaults :相当于 rw, nosuid, dev, exec, auto, nouser, async
  查看挂载情况:
  #findmntMOUNT_POINT
  查看正在访问指定文件系统的进程:
  #lsofMOUNT_POINT #fuser -v MOUNT_POINT
  终止所有在正访问指定的文件系统的进程:
  #fuser -km MOUNT_POINT
  取消挂载卸载:
  #umountDEVICE #umountMOUNT_POINT
  查看挂载关系
  #mount
  #cat /etc/mtab
  cat /proc/mounts  //隐藏挂载也可以看到
   文件挂载配置文件
  /etc/fstab 每行定义一个要挂载的文件系统;
  #cat   /etc/fstab UUID=6ef6b1fe-1da4-406f-a028-3530d277e279 /                       ext4    defaults 1 1
  从左到右依次解释:
  ·  要挂载的设备或伪文件系统
  ·  挂载点
  ·  文件系统类型
  ·  挂载选项
  ·  转储频率
  ·  自检次序
  ·  要挂载的设备
  目录挂目录的配置文件写法:
  /boot /mnt/boot  none  bind 0 0
  文件挂文件的配置文件写法:
  /root/partfile /mnt/ file ext4 loop 0 0
  生效: mount -a
  重新挂载某个设备:
   mount -o remount /mnt/sdb1
   处理交换文件和分区
  交换分区是系统RAM 的补充
  基本设置包括:
  创建交换分区或者文件:
  分区完需要改ID 82 ,默认为 83 ,按 t 更新, L 可以查看可以更改的类型。
  使用mkswap 写入特殊签名
   [root@centos6: /root]# mkswap  /dev/sdb5  -L swap2
   /etc/fstab 文件中添加适当的条目
  vim /etc/fstab
  :r!blkid //vim 下读取某个分区的 UUID UUID=09149535-ae7e-4b41-bba7-917aa8d1cc19 /mnt/swap2  swap  defaults 0 0
  使用 swapon -a  激活交换空间
   [root@centos6: /root]# swapon -a // 重新读取配置文件生效
  · swapon -s  查看谁提供 swap
来源: 运维部落