码迷,mamicode.com
首页 > 系统相关 > 详细

Linux文件系统及磁盘管理

时间:2015-09-06 18:25:38      阅读:293      评论:0      收藏:0      [点我收藏+]

标签:linux 磁盘管理

硬盘在Linux系统中编码规范:


      识别硬盘设备:/dev/sd

      标记不同的硬盘设备:/dev/sd[a-z] 

      标记同一设备上的不同分区:/dev/sd[a-z][1-]

      1-4: 主或扩展分区标识

      5+:逻辑分区标识


    设备文件:特殊文件

    设备号:

    major, minor

    major: 设备类型

    minor: 同一类型下的不同设备


    “块”:block,随机设备

    “字符”:character,线性设备


分区工具:

    fdisk, parted, sfdisk


fdisk工具的使用:

    最多支持在一块硬盘上的15个分区;


分区管理子命令:

p: 显示

n: 创建

d: 删除

t: 修改分区ID

l: 列出所有支持ID类型

w: 保存退出

q: 放弃修改并退出

m: 获取帮助


创建完成之后,查看内核是否已经识别新的分区:

        # cat /proc/partitions


有三个命令可以让内核重读磁盘分区表:

CentOS 5: partprobe [DEVICE]

CentOS 6,7: 

partx

kpartx


partx命令:

partx DEVICE

partx -a DEVICE

partx -a -n M:N DEVICE

M

M:

:N


kpartx命令:

kpartx -af DEVICE



Linux文件系统管理


文件系统:

     VFS:Virtual File System


        Linux:ext2, ext3, ext4, reiserfs, xfs, btrfs, swap

        光盘:iso9660

Windows: fat32(vfat), ntfs

Unix: ffs, ufs, jfs, jfs2

网络文件系统:nfs, cifs

集群文件系统:ocfs2, gfs2

分布式文件系统:ceph, 

moosefs, mogilefs, hdfs, gfs, glusterfs


(1) 日志型文件系统

    非日志型文件系统:ext2

    日志型文件系统:ext3


(2) swap:交换分区

    相当于Windows系统中的虚拟内存


创建文件系统:

在分区上执行格式化(高级格式化)

要使用某种文件系统,满足两个条件:

内核中:支持此种文件系统

用户空间:有文件系统管理工具



创建工具:mkfs (make filesystem)

    mkfs -t type DEVICE


    mkfs.type DEVICE


[root@gxd ~]# mkfs.

mkfs.cramfs   mkfs.ext2     mkfs.ext3     mkfs.ext4     mkfs.ext4dev  mkfs.msdos    mkfs.vfat


ext系列文件系统的专用管理工具:

mke2fs -t {ext2|ext3|ext4} DEVICE

-b BLOCK: 1024, 2048, 4096

-L ‘LABEL‘: 设定卷标


blkid命令:显示块设备信息

blkid DEVICE

LABEL, UUID, TYPE

[root@gxd ~]# blkid /dev/sda1

/dev/sda1: UUID="d308ea7e-c4f0-41bf-983d-b2425e6c1c2d" TYPE="ext4" 


Linux文件系统管理:

mkfs, mkfs -t type = mkfs.type

ext:mke2fs


创建文件系统:

mke2fs [OPTION]... DEVICE

-t {ext2|ext3|ext4}

-b {1024|2048|4096}  块大小

-L ‘LABEL‘  卷标

-j: mke2fs -t ext3  日志选项

-i #: inode大小

-N #: inode数量

-m #: 预留磁盘空间占据多大百分比的空间为后期管理使用;

-O FEATURE[,...]  设定文件系统特性

-O ^FEATURE       关闭特性

has_journal


文件系统属性查看及调整工具:

e2label

e2lable DEVICE [LABEL]

[root@gxd ~]# e2label /dev/sda1 system

[root@gxd ~]# e2label /dev/sda1

system

[root@gxd ~]# blkid /dev/sda1

/dev/sda1: UUID="d308ea7e-c4f0-41bf-983d-b2425e6c1c2d" TYPE="ext4" LABEL="system"


tune2fs

  显示ext系列文件系统的属性,或调整其属性;


-l:显示超级块中的信息;显示整个文件的属性及布局等相关信息;

-L ‘LABEL‘:修改卷标;

-m #: 调整预留给管理员的管理空间百分比;

-j: ext2 --> ext3

-O:文件系统属性的启动或关闭 

-o:文件系统默认挂载选项的启用或关闭


dumpe2fs:

-h: 仅显示超级块信息;


文件系统检测:

fsck: Filesystem check

fsck -t type

fsck.type

    -a: 自动修复错误

    -r: 交互式修复错误

    -f: 强制检测


e2fsck:ext系列文件系统专用的检测修复工具;

    -y: 自动回答为“yes”

    -f:force


文件系统的挂载和使用:

 kernel --> rootfs(分区)


rootfs分区:

bin, sbin, etc, lib, lib64, dev, tmp, proc, sys


将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件系统访问入口的行为,称之为挂载;


解除此关联关系的过程:卸载


挂载点:mount point, 设备挂载至目录;


注意:挂载点在挂载在之后,其内部原有的文件会被暂时隐藏;建议使用空目录做为挂载点;


挂载方法:

mount:通过读取/etc/mtab文件来显示当前系统所有已经挂载的设备;

mount -a:挂载/etc/fstab文件中的所有支持自动挂载的文件系统;

mount [options] [-o options] DEVICE MOUNT_POINT

[options]:命令选项

[-o options]:挂载选项


DEVICE: 要挂载的设备

(1) 设备文件:/dev/sda5

(2) 卷标:-L ‘LABEL‘

(3) UUID:-U ‘UUID‘

(4) 伪文件系统名称

MOUNT_POINT: 挂载点


常用选项:

    -t type:文件系统类型

    -r: 以“只读”方式挂载此文件系统

    -w: 以“读写”方式挂载此文件系统

    -n:每个文件系统在挂载时都会自动更新/etc/mtab文件,-n用于禁止此功能;

          此时,如果想查看挂载的所有文件系统:cat /proc/mounts

    -a: 自动挂载所有支持自动挂载的设备;

    -B:绑定目录至另一个目录上;


    -o 挂载选项:

async:异步模式

sync: 同步模式

atime/noatime:是否更新访问时间戳;

diratime/nodiratime:是否更新目录的访问时间戳;

auto/noauto: 是否允许此设备被自动挂载;

exec/noexec:是否允许执行此文件系统上应用程序;

dev/nodev:是否支持在此设备上使用设备文件;

suid/nosuid:

remount:重新挂载

ro

rw

user/nouser: 是否允许普通挂载此设备;

acl:是否支持此设备上使用facl;

defaults:rw, suid, dev, exec, auto, nouser, and async


umount:卸载命令

    # umount DEVICE

    # umount MOUNT_POINT


查看正在访问指定挂载点的进程:

    # fuser -v MOUNT_POINT


终止所有正在访问指定的挂载点的进程:

    # fuser -km MOUNT_POINT


交换分区


free命令:

查看memory和swap的使用状态

    -m: 以MB为单位

    -g: 以GB为单位 


mkswap:创建交换分区


    mkswap [option] DEVICE

    -L ‘LABEL‘

    swapon:启用交换分区

    swapon [option] [DEVICE]

    -a: 激活所有交换分区

    -p PRIORITY: 设定其优先级;


swapoff:禁用交换分区

swapoff [option] [DEVICE]


文件系统等空间占用信息的查看工个:

    df: disk free

        -h: human-readable

-i: inode数量

-P: 以Posix兼容的格式输出

du: disk usage

-h: human-readable

-s: summary



文件系统相关挂载配置文件:/etc/fstab


每行定义一个文件系统;


要挂载的设备或伪文件系统  挂载点 文件系统类型 挂载选项 转储频率  自检次序


要挂载的设备:

设备文件、LABEL=、UUID=、伪文件系统名称


挂载选项:

defaults


转储频率:

0: 不转储

1: 每天转储

2: 每隔一天转储


自检次序:

0:不自检

1:首先自检,通常只有/才为1

2:

...


链接文件

硬链接:

两个路径指向同一个inode


不能对目录进行;

不能跨分区进行

指向同一个inode的多个不同路径; 创建文件的硬链接会增加inode的引用计数;删除硬链接         仅是删除其一个访问路径,只到最后一个路径被删除; 


符号链接:

链接文件的数据指向另一个文件路径,相当于Windows系统中的快捷方式;


可以对目录进行;

可以跨分区;

指向的是另一个文件路径;而非inode;

对文件创建符号链接不会增加其引用计数;删除原文件,符号链接文件也将无法;


ln [-s] SRC DEST

-s:symbolic link 

-v:verbose



练习:创建一个10G文件系统,类型为ext4,要求开机可自动挂载至/mydata目录;

fdisk /dev/sda

   n

   p

   +10G

   w

kpartx -af /dev/sda

partx -a /dev/sda


mke2fs -t ext4 /dev/sda3

mount /dev/sda3  /mydata

vi /etc/fstab

  添加如下行:

/dev/sda3               /mydata                 ext4    defaults        0 0



Linux文件系统及磁盘管理

标签:linux 磁盘管理

原文地址:http://hubla.blog.51cto.com/1093504/1691991

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!