Linux基础管理——磁盘管理

1、设备文件

I/O Ports: I/O设备地址。

设备文件的使用:

   通过将文件关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信。
    一切皆文件,所以磁盘的也是也是基于设备文件与之通信的:open(), read(), write(), close()

设备号码:

    主设备号:major number, 标识设备类型;
    次设备号:minor number, 标识同一类型下的不同设备。

硬盘接口类型:

    并行:    
        IDE:133MB/s
        SCSI:640MB/s
    串口:
        SATA:6Gbps
        SAS:6Gbps
    USB:480MB/s
        rpm: rotations
        per minute

磁盘设备的设备文件命名:

    /dev/DEV_FILE
    
    SCSI, SATA, SAS, IDE,USB: /dev/sd;
    虚拟磁盘:/dev/vd;
    
    不同磁盘标识:a-z,aa,ab…/dev/sda, /dev/sdb, ...;
    同一设备上的不同分区:1,2, .../dev/sda1, /dev/sda5;

2、磁盘结构

2.1、机械硬盘(HDD)

2.2、固态硬盘(SSD)和机械硬盘(HDD)

2.3、硬盘存储术语及扇区结构

head:磁头;
track:磁道;
cylinder: 柱面;
sector: 扇区,512bytes;

(1)早期扇区结构

(2)区位记录磁盘扇区结构:ZBR(Zoned Bit Recording)

2.4、CHS和LBA

CHS:

   采用24bit位寻址;
    最大寻址空间8GB;

LBA(logical block addressing)

   LBA采用48个bit位寻址
    最大寻址空间128PB

注意:

    由于CHS寻址方式的寻址空间在大概8GB以内,所以在磁盘容量小于大概8GB时,可以使用CHS寻址方式或是LBA寻址方式;在磁盘容量大于大概8GB时,则只能使用LBA寻址方式。

2.5、使用分区空间


    设备识别;
    设备分区;
    创建文件系统;
    标记文件系统;
    在/etc/fstab文件中创建条目;
    挂载新的文件系统;

2.5、磁盘分区的意义及分区类型


磁盘分区意义:

    优化I/O性能
    实现磁盘空间配额限制
    提高修复速度
    隔离系统和程序
    安装多个OS
    采用不同文件系统
两种分区方式:MBR,GPT

2.5.1、MBR

MBR:

    Master Boot Record,1982年,使用32位表示扇区数,分区不超过2T;    
    按柱面

MBR分区结构:

硬盘主引导记录MBR由4个部分组成:

    主引导程序(偏移地址0000H--0088H):它负责从活动分区中装载,并运行系统引导程序。
    出错信息数据区:偏移地址0089H--00E1H为出错信息,0E2H--01BDH全为0字节。
    
    分区表(DPT,Disk Partition Table):含4个分区项,偏移地址01BEH--01FDH,每个分区表项长16个字节,共64字节;为分区项1、分区项2、分区项3、分区项4
    结束标志字:偏移地址01FE--01FF的2个字节值为结束标志55AA。

2.5.2、GPT分区

GPT:

    GUID(Globals Unique Identifiers) partition table;    
    支持128个分区,使用64位,支持8Z(512Byte/block)、64Z (4096Byte/block);
    使用128位UUID(Universally Unique Identifier) 表示磁盘和分区;
    
    GPT分区表自动备份在头和尾两份,并有CRC校验位UEFI;
    (统一扩展固件接口)硬件支持GPT,使操作系统启动

3、分区管理

3.1、图形化

图形化磁盘管理功能工具:

    点击“应用程序” ->“系统工具” ->“磁盘”;
    执行命令gnome-disks

3.2、分区管理

列出块设备:lsblk;
创建分区使用:
    fdisk 创建MBR分区;
    gdisk 创建GPT分区;
    parted 高级分区操作;
    
partprobe-重新设置内存中的内核分区表版本;

3.3、parted命令

注意:parted的操作都是实时生效的,小心使用

语法:

    parted [选项]... [设备 [命令 [参数]...]...]

示例:

    parted /dev/sdb mklabel gpt|msdos
    parted /dev/sdb print
    parted /dev/sdb mkpart primary 1 200 (默认M)
    parted /dev/sdb rm 1
    parted -l

3.3、分区工具:fdisk & gdisk


    gdisk /dev/sdb:类fdisk 的GPT分区工具;

    fdisk -l [-u] [device...] 查看分区;
    fdisk /dev/sdb 管理分区;

子命令:

    p 分区列表
    t 更改分区类型
    n 创建新分区
    d 删除分区
    v 校验分区
    u 转换单位
    w 保存并退出
    q 不保存并退出
查看内核是否已经识别新的分区:
    cat /proc/partations

同步分区表:

centos6通知内核重新读取硬盘分区表:
    新增分区用:
        partx -a /dev/DEVICE
        kpartx -a /dev/DEVICE -f: force
    删除分区用:
        partx -d --nr M-N /dev/DEVICE

CentOS 5,7:使用partprobe
    partprobe [/dev/DEVICE]

4、文件系统管理

4.1、文件系统类型

    Linux文件系统:ext2(Extended file system), ext3,ext4, xfs(SGI), btrfs(Oracle), reiserfs, jfs(AIX), swap
    光盘:iso9660
    Windows:FAT32, exFAT,NTFS
    Unix:FFS(fast), UFS(unix), JFS2
    
    网络文件系统:NFS, CIFS
    集群文件系统:GFS2, OCFS2(oracle)
    分布式文件系统: fastdfs,ceph, moosefs, mogilefs,glusterfs, Lustre
    RAW:未经处理或者未经格式化产生的文件系统
    查前支持的文件系统:cat /proc/filesystems

4.2、创建文件系统

mkfs命令:
    (1) mkfs.FS_TYPE /dev/DEVICE
        ext4
        xfs
        btrfs
        vfat
    (2) mkfs -t FS_TYPE /dev/DEVICE
    -L 'LABEL': 设定卷标

创建ext文件系统:

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:关闭指定特性;

文件系统标签:

    指向设备的另一种方法    
    与设备无关
blkid:
    块设备属性信息查看;
    语法:
        blkid [OPTION]... [DEVICE]
            -U UUID: 根据指定的UUID来查找对应的设备
            -L LABEL:根据指定的LABEL来查找对应的设备
e2label:管理ext系列文件系统的LABEL
    e2label DEVICE [LABEL]
findfs :查找分区
    findfs [options] LABEL=<label>
    findfs [options] UUID=<uuid>

tune2fs:

    重新设定ext系列文件系统可调整参数的值;
    
    -l:查看指定文件系统超级块信息;super block
    -L 'LABEL':修改卷标
    -m #:修预留给管理员的空间百分比
    -j: 将ext2升级为ext3
    -O: 文件系统属性启用或禁用, –O ^has_journal
    -o: 调整文件系统的默认挂载选项,–o ^acl
    -U UUID: 修改UUID号

dumpe2fs:

    块分组管理,32768块    
    -h:查看超级块信息,不显示分组信息

4.3、文件系统检测和修复

    常发生于死机或者非正常关机之后;    
    挂载为文件系统标记为“ no clean”;
    注意:一定不要在挂载状态下修复;
fsck: File System Check

fsck.FS_TYPE
fsck -t FS_TYPE
    -p: 自动修复错误
    -r: 交互式修复错误
    FS_TYPE一定要与分区上已经文件类型相同;
e2fsck:ext系列文件专用的检测修复工具
    -y:自动回答为yes
    -f:强制修复

5、挂载

挂载:

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

注意:

    挂载点下原有文件在挂载完成后会被临时隐藏;    
    挂载点目录一般为空;
    事先存在;建议使用空目录;
    进程正在使用中的设备无法被卸载;

语法:

mount DEVICE MOUNT_POINT
mount [-fnrsvw] [-t vfstype] [-o options] device dir
    -t vsftype:指定要挂载的设备上的文件系统类型
    -r: readonly,只读挂载
    -w: read and write, 读写挂载
    -n: 不更新/etc/mtab,mount不可见
    -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:是否允许普通用户挂载此设备,/etc/fstab使用
    acl:启用此文件系统上的acl功能
    loop: 使用loop设备
defaults:相当于rw, suid, dev, exec, auto, nouser, async

6、卸载命令

查看挂载情况

findmnt MOUNT_POINT|device

查看正在访问指定文件系统的进程

lsof MOUNT_POINT
fuser -v MOUNT_POINT

终止所有在正访问指定的文件系统的进程

fuser -km MOUNT_POINT

卸载

umount DEVICE
umount MOUNT_POINT

7、文件挂载配置文件

注意:使用mount -a 命令挂载/etc/fstab中的所有文件系统

/etc/fstab每行定义一个要挂载的文件系统:

1)要挂载的设备或伪文件系统;
    设备文件;
    LABEL:LABEL="";
    UUID:UUID="";
    伪文件系统名称:proc, sysfs;

2)挂载点;

3)文件系统类型;

4)挂载选项:defaults;

5)转储频率:0:不做备份 1:每天转储 2:每隔一天转储;

6)自检次序:
    0:不自检;
    1:首先自检;一般只有rootfs才用1;

8、处理交换文件和分区

交换分区是系统RAM的补充。

8.1、基本设置

    创建交换分区或者文件    
    使用mkswap写入特殊签名
    在/etc/fstab文件中添加适当的条目
    使用swapon -a 激活交换空间

交换分区的启用与禁用:

    启用:swapon
    swapon [OPTION]... [DEVICE]
        -a:激活所有的交换分区;
        -p PRIORITY:指定优先级
        /etc/fstab:pri=value
    禁用:swapoff [OPTION]... [DEVICE]

8.2、SWAP的优先级

    可以指定swap分区0到32767的优先级,值越大优先级越高;    
    
    如果用户没有指定,那么核心会自动给swap指定一个优先级,这个优先级从-1开始,
    每加入一个新的没有用户指定优先级的swap,会给这个优先级减一;
    
    先添加的swap的缺省优先级比较高,除非用户自己指定一个优先级,
    而用户指定的优先级(是正数)永远高于核心缺省指定的优先级(是负数);
    
    优化性能:分布存放,高性能磁盘存放;

原文地址:http://blog.51cto.com/mjunetwslinux/2061234

时间: 2024-11-09 16:18:11

Linux基础管理——磁盘管理的相关文章

Linux基础之磁盘管理

 Linux基础之磁盘管理         关于Linux中磁盘管理我们应该从以下四个方面入手,去了解和学习磁盘管理的知识. 第一点 磁盘的结构--硬盘         硬盘的参数 结构:磁盘的盘片,磁头,马达(机械键盘) 类型:固态硬盘(SSB)和机械硬盘 接口:早期的IDE接口,现在的SATA,SCSI,SAS 还有容量,转速,传输速度,缓存等. 硬盘存储术语 head: 磁头 track: 磁道 cylinder: 柱面 secotr: 扇区  512bytes(字节) 第二点 磁盘的分区

2016-6 -9 linux基础学习——磁盘管理

ln [-s -v] SRC DEST硬链接    1.只能对文件创建,不能应用于目录    2.不能跨文件系统:    3.创建硬链接会增加文件被链接的次数.符号链接        1.可应用于目录:    2.可用跨文件系统:    3.不会增加被链接文件的链接次数:    4.其大小为指定的路径所包含的字符个数.        du -s 文件路径:显示文件大小   -h 文件路径:单位换算    df  显示当前目录下文件的挂载情况    -i :一共有多少inode可用,已用多少ino

Linux命令工具基础04 磁盘管理

Linux命令工具基础04 磁盘管理 日程磁盘管理中,我们最常用的有查看当前磁盘使用情况,查看当前目录所占大小,以及打包压缩与解压缩: 查看磁盘空间 查看磁盘空间利用大小 df -h -h: human缩写,以人类易读方式显示结果(既带单位:比如M/G,如果不加这个参数,显示的数字以B为单位) $df -h /opt/app/todeav/config#df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-

Linux入门之磁盘管理(2)文件系统

Linux入门之磁盘管理(2)文件系统 linux分区构成完成之后,一般需要进行对其创建指定的文件系统,也就是我们常说的格式化,然后对其进行分区挂载,提供指定分区的访问点.不同的分区格式会在文件系统内部提供不同的对该分区的数据存储的格式分配,以及其内部模块会支持不同的分区的接口及方法调用,例如对一个文件的打开.读取.写入.关闭等功能,每个文件系统都会有各种不同的特点. 常见的系统文件系统: linux: ext2.ext3.ext4:xfs(SGI):btrfs(Oracle):reiserfs

Linux系统的磁盘管理及分区应用

要求: 第一部分:磁盘分区 1)为虚拟机添加一块80GB.SCSI接口的硬盘 2)划分2个10GB的EXT4主分区,剩余的作为扩展分区 3)划分一个2G的swap交换分区 4)划分一个10G的FAT32的VFAT逻辑分区 第二部分:新磁盘分区的应用 a)将系统中的普通用户king的宿主目录迁移到所添加的新硬盘的其中一个主分区上 并能实现开机自动挂载,不影响开机时用户king的正常登陆(修改fstab配置文件) b)实现新添加交换分区的开机自动挂载(修改fstab配置文件) c)实现先添加另一个主

linux下的磁盘管理

前言:本文记录笔者在学习linux下磁盘管理时的总结,仅做学习记录使用. 要想了解linux下的磁盘管理方式,首先,得对硬盘及linux下硬盘的表述方式有个清晰的了解,下面来介绍一下linux下对硬盘的表述方式. 1.关于硬盘?硬盘一般分为IDE硬盘.SCSI硬盘和SATA硬盘(串口硬盘).现如今使用大多硬盘为SCSI和SATA硬盘.2.Linux下对硬盘及其分区的表述是怎样的呢?(1)在linux下,IDE接口的设备被称为hd,SCSI和SATA接口的设备则被称为sd.(现如今用的是SCSI或

Linux系统管理之磁盘管理与文件系统

Linux系统管理之磁盘管理与文件系统 一.前言 管理磁盘是管理员的重要工作内容,本文主要介绍以下几个方面 磁盘结构及分区表示 管理磁盘及分区 管理文件系统 二.磁盘(无尘环境制造)结构及分区 1.物理结构 盘片:硬盘有多个盘片,每盘片2面 磁头:每面有一个磁头 2.数据结构 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据 磁道:同一盘片不同半径的同心圆 柱面:不同盘片相同半径构成的圆柱面 多个扇区组成磁道,多个相同直径的磁道组成柱面 笔记本的磁盘一般是2.5英寸,7mm厚度和9.5

Linux入门之磁盘管理(1)分区管理

Linux入门之磁盘管理(1)分区管理 无论是windows还是linux,目前支持的分区结构只有两种,一种是基于blos检查启动的mbr结构,另一种是基于uefi(统一扩展固件接口)的opt分区结构.当然,目前广泛的还是使用的mbr结构. linux中有很多不同的文件系统,当使用安装光盘安装的readhat类的linux系统默认一般支持的主要格式为ext类(ext2.ext3.ext4),当然这些是redhat或者centos5.6所使用的默认设备,且安装centos7时默认使用的分区格式为x

Linux入门之磁盘管理(9)LVM逻辑卷案例

Linux入门之磁盘管理(9)LVM逻辑卷案例 案例介绍阶段(1): 创建一个由两个物理卷组成的大小未20G的卷组myvg,要求其PE大小为16M:而在此卷组中创建一个大小未5G的逻辑卷lvtest,此逻辑卷要能在开机后自动挂载至/mnt/lvtest目录,且支持ACL功能. 1.准备工作 #这里我们分别从两个磁盘选择10G来准备组合为PV [[email protected] ~]# fdisk -l | grep -o '/.*B' /dev/sda: 21.5 GB /dev/sdb: 2

Linux中的磁盘管理

Linux中的磁盘管理 Linux中磁盘管理的学习主要分为3个部分: 分区 格式化 挂载 一.磁盘结构 硬盘是计算机常用的存储设备之一,本章将介绍硬盘的基本知识. 硬盘的物流结构 盘片:磁盘有多个盘片,每盘片2面 磁头:每面一个磁头 硬盘的数据结构 硬盘的数据结构 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据 磁道:同一盘片不同半径的同心圆 柱面:不同盘片相同半径构成的圆柱面 硬盘存储容量 硬盘存储容量=磁头数x磁道(柱面)数x每道扇区数x每扇区字节数例如:磁盘是一个 3个圆盘6个