linux磁盘分区格式化基本操作

磁盘分区

分区格式的两种选择:MBR和GPT

分区命令:

parted的操作都是实时生效的,小心使用,主要是用于大于2T硬盘,支持MBR和GPT两种格式。

用法: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或者7 :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=<label>

[root@centos6: /root]# findfs LABEL="/app/sdb2" /dev/sdb2
findfs[options] UUID=<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

原创文章,作者:祥健,如若转载,请注明出处:http://www.178linux.com/74154

(0)
上一篇 2017-04-24 21:35
下一篇 2017-04-24 22:26

相关推荐

  • 马哥教育网络班21期+第1周课程练习

    1.描述计算机的组成及其功能。   计算机主要由运算器,控制器,存储器,输入设备,输出设备组成   运算器用来做计算,用来做二进制运算(加法运算)和逻辑运算   控制器用来控制计算机各部件之间的协调,例如运算器想做运算从哪里读入加数和被加数,寄存在哪里   存储器分为内存储器和外存储器,用来存放数据 内存储器用于存放计…

    Linux干货 2016-07-12
  • M22 用户、组学习总结

    Linux系统的登录方式是通过账号和密码。每一个登录账号都有一个主组可能有附加组。Linux内的文件和目录都有所有者和属组,只有相应权限的账户可以对其进行操作,下面我对用户权限相关内容进行了总结。   1、  用户ID,每个用户具有相应的ID号码,主要分为两类:系统ID和用户ID,在Centos6中系统ID为1-499,用户ID >…

    2017-02-22
  • Mariadb之SELECT语法练习

    一 、导入hellodb.sql生成数据库后实现以下操作     # mysql -uroot -h172.16.23.23 -pcento.123 < hellodb.sql     mysql>&nbsp…

    Linux干货 2016-12-17
  • python基础 习题总结

    pyenv 编程题目总结(99乘法表 打印菱形与闪电 斐波那契数列 素数 猴子吃桃) 原反补码与异或运算 list列表

    Linux干货 2018-03-25
  • keepalived+nginx

    keepalived可以认为是VRRP协议在Linux上的实现,主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现VRRP协议的。本文基于如下的拓扑图: 配置keepalived+nginx的方…

    Linux干货 2016-11-04
  • httpd

      httpd http服务器程序:   httpd (apache) nginx lighttpd httpd的特性:   高度模块化: core + modules DSO:dynamic shared object(模块的动态加载) MPM:Multipath processing Modules (多路处理模块) &nb…

    Linux干货 2017-06-04

评论列表(1条)

  • renjin
    renjin 2017-04-28 11:34

    对文件系统管理类的命令展开了介绍,内容总结的很精细,排版也很好,可以的话把博客的数量再提一提!