精华内容
下载资源
问答
  • Linux磁盘管理详解

    千次阅读 2021-03-06 23:27:25
    磁盘是一种存储设备,所有的从操作系统和应用程序都安装在磁盘上。 目录1.磁盘分类2.磁盘容量3.磁盘分区4.磁盘分区工具4.1.fdisk分区工具4.2.parted分区工具 1.磁盘分类 一般应用于服务器的磁盘主要有三种: SATA...

    本文基于Centos7.9操作系统完成!

    磁盘是一种存储设备,所有的从操作系统和应用程序都安装在磁盘上。

    1.磁盘分类

    一般应用于服务器的磁盘主要有三种:

    • SATA磁盘
    • SAS磁盘
    • SSD磁盘
    • 我目前工作的地方也是用这三种

    2.磁盘容量

    • 磁盘结构一般包括磁道、柱面、扇区、磁头。
    • 磁盘容量计算如下:
    一个磁道大小=512字节x扇区数
    一个柱面大小=磁道大小x磁道数
    一个磁盘大小=柱面大小x磁头数
    
    • 查看系统磁盘信息命令如下:
    [root@centos7 ~]# fdisk -l
    
    磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0x000e4d7e
    

    3.磁盘分区

    • Linux系统一般分为三个分区:boot分区、swap分区、/(根)分区
    • 主分区编号为1-4,逻辑分区编号从5开始
    • 生产环境中分区建议:
    最少也要有boot分区、swap分区、/(根)分区三个分区
    建议swap分区为内存的2倍,如果内存大于16G,则设置为16G
    /boot分区用来存储引导文件和内核文件,建议设置100~200M
    

    4.磁盘分区工具

    4.1.fdisk分区工具

    • 针对磁盘容量小于2T的磁盘,通过实例进行讲解
    • 由于我的系统是中文,所以看起来就很直观,所有的选项不了解可以通过输入m查看
    • 输入的选项依次为:n——p——1——回车——回车——w
    [root@centos7 ~]# fdisk /dev/sdb
    欢迎使用 fdisk (util-linux 2.23.2)。
    
    更改将停留在内存中,直到您决定将更改写入磁盘。
    使用写入命令前请三思。
    
    Device does not contain a recognized partition table
    使用磁盘标识符 0xfb956fa6 创建新的 DOS 磁盘标签。
    
    命令(输入 m 获取帮助):n
    Partition type:
       p   primary (0 primary, 0 extended, 4 free)
       e   extended
    Select (default p): p
    分区号 (1-4,默认 1):1
    起始 扇区 (2048-41943039,默认为 2048):
    将使用默认值 2048
    Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
    将使用默认值 41943039
    分区 1 已设置为 Linux 类型,大小设为 20 GiB
    
    命令(输入 m 获取帮助):w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    正在同步磁盘。
    
    
    • 完成分区后还要进行格式化和挂载才能使用
    [root@centos7 ~]# mkfs.xfs /dev/sdb1
    meta-data=/dev/sdb1              isize=512    agcount=4, agsize=1310656 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0, sparse=0
    data     =                       bsize=4096   blocks=5242624, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
    log      =internal log           bsize=4096   blocks=2560, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    
    
    • 创建一个目录/data,将分区挂载到/data目录下
    [root@centos7 ~]# mkdir /data
    [root@centos7 ~]# mount /dev/sdb1 /data
    [root@centos7 ~]# df -h
    文件系统                 容量  已用  可用 已用% 挂载点
    devtmpfs                 979M     0  979M    0% /dev
    tmpfs                    991M     0  991M    0% /dev/shm
    tmpfs                    991M  9.6M  981M    1% /run
    tmpfs                    991M     0  991M    0% /sys/fs/cgroup
    /dev/mapper/centos-root   17G  2.2G   15G   13% /
    /dev/sda1               1014M  138M  877M   14% /boot
    tmpfs                    199M     0  199M    0% /run/user/0
    /dev/sdb1                 20G   33M   20G    1% /data
    # 可以看到最下边的dev/sdb1已经挂载到/data目录下
    

    4.2.parted分区工具

    • 针对磁盘容量等于大于2T的磁盘进行分区,过程如下:
    # 将磁盘转换成gpt格式
    [root@centos7 ~]# parted /dev/sdc mklabel gpt
    # 设置主分区范围
    [root@centos7 ~]# parted /dev/sdc mkpart primary 0 100%   
    # 打印分区表信息
    [root@centos7 ~]# parted /dev/sdc p                                       
    Model: VMware, VMware Virtual S (scsi)
    Disk /dev/sdc: 21.5GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags: 
    
    Number  Start   End     Size    File system  Name     标志
     1      17.4kB  21.5GB  21.5GB               primary
    # 进行格式化
    [root@centos7 ~]# mkfs.xfs /dev/sdc1
    meta-data=/dev/sdc1              isize=512    agcount=4, agsize=1310718 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0, sparse=0
    data     =                       bsize=4096   blocks=5242871, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
    log      =internal log           bsize=4096   blocks=2560, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    [root@centos7 ~]# mkdir /data2
    [root@centos7 ~]# mount /dev/sdc1 /data2
    [root@centos7 ~]# df -h
    文件系统                 容量  已用  可用 已用% 挂载点
    devtmpfs                 979M     0  979M    0% /dev
    tmpfs                    991M     0  991M    0% /dev/shm
    tmpfs                    991M  9.6M  981M    1% /run
    tmpfs                    991M     0  991M    0% /sys/fs/cgroup
    /dev/mapper/centos-root   17G  2.2G   15G   13% /
    /dev/sda1               1014M  138M  877M   14% /boot
    tmpfs                    199M     0  199M    0% /run/user/0
    /dev/sdb1                 20G   33M   20G    1% /data
    /dev/sdc1                 20G   33M   20G    1% /data2
    # 可以看到新建的sdc1也已经挂载成功
    

    5.RAID技术简述

    • RAID叫做独立冗余磁盘阵列系统。是将多块物理磁盘按不同的技术方式组合在一起形成一个磁盘组,在逻辑上形成一块大容量磁盘。
    • RAID的设置在服务器开机过程中,注意要求你按什么键进入设置,(也有一些服务器需要先进BIOS设置)因为每一种设置都不怎么相同,这里就不说了。
    • RAID可分为基于软件的RAID和基于硬件的RAID;前者很少用了,后者需要服务器上安装RAID卡。
    • RAID级别可分为RAID{0、1、2、3、4、5、6、7、10}几个级别;我那里用的有0、1、5、6这几种。
    • RAID的优点:提升磁盘读写性能;提高数据存储量;提升数据安全性
    • 常用RAID的优缺点:
    RAID0:读写速度最快;没有冗余;适用对冗余要求不高的场景
    RAID1:100%冗余;读写性能一般,成本高;用于比较重要的场景(如系统安装)
    RAID5:读性能较好,有一定冗余,允许坏一块盘;写性能不高;一般业务可用
    RAID10:读写速度快,100%冗余;成本很高;适用比较重要业务
    

    6.磁盘管理命令

    6.1.查看系统磁盘使用情况-df

    • df:用于查看系统磁盘空间使用情况
    • 常用选项如下:
    -h:以可读的格式输出磁盘分区使用情况
    -k:以KB为单位
    -m:以MB为单位
    -i:显示磁盘分区文件系统的inode信息
    -T:显示磁盘分区文件系统的类型
    
    • 例:显示当前系统磁盘分区使用情况,以MB为单位
    [root@centos7 ~]# df -hm
    文件系统                1M-块  已用  可用 已用% 挂载点
    devtmpfs                  979     0   979    0% /dev
    tmpfs                     991     0   991    0% /dev/shm
    tmpfs                     991    10   981    1% /run
    tmpfs                     991     0   991    0% /sys/fs/cgroup
    /dev/mapper/centos-root 17394  2169 15226   13% /
    /dev/sda1                1014   138   877   14% /boot
    tmpfs                     199     0   199    0% /run/user/0
    /dev/sdb1               20469    33 20437    1% /data
    /dev/sdc1               20470    33 20438    1% /data2
    

    6.2.显示磁盘空间占用情况-du

    • du:用于显示文件或目录占用磁盘空间的情况
    • 常见选项如下:
    -h:以可读格式输出文件或目录大小
    -b:以字节为单位输出文件或目录大小
    -吗:以MB为 单位输出文件或目录大小
    -s:显示文件或整个目录大小,单位为KB
    --exclude=<文件名或目录>:忽略指定的文件或目录
    
    • 例:显示根目录的大小,忽略/usr目录
    [root@centos7 ~]# du -sh / --exclude=/usr
    343M	/
    

    6.3.fdisk与parted

    • 这两个命令就不继续说了
    • 常用fdisk -l来查看分区信息

    6.4.文件系统挂载命令-mount

    • mount:用于挂在文件系统到指定的挂载点
    mount 选项 文件系统 挂载点
    
    • 上面的内容里也有举例,就不多说了,详细的内容请查看专门的mount内容讲解

    加油!奥里给!!!

    展开全文
  • linux磁盘分区详解

    万次阅读 多人点赞 2019-04-15 10:47:00
    1.磁盘的分区主要分为基本分区(primary partion)和扩充分区(extension partion)两种,基本分区和扩充分区的数目之和不能大于四个。且基本分区可以马上被使用但不能再分区。扩充分区必须再进行分区后才能使用,也...

    1.磁盘的分区主要分为基本分区(primary partion)和扩充分区(extension partion)两种,基本分区和扩充分区的数目之和不能大于四个。且基本分区可以马上被使用但不能再分区。扩充分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么由扩充分区再分下去的是什么呢?它就是逻辑分区(logical partion),况且逻辑分区没有数量上限制。

    在 Linux 中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等 IDE 或 SCSI 设备也不例外。Linux把各种 IDE 设备分配了一个由 hd 前缀组成的文件;而对于各种 SCSI 设备,则分配了一个由 sd 前缀组成的文件。

    对于ide硬盘,驱动器标识符为“hdx”,其中“hd”表明分区所在设备的类型,这里是指ide硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个ide硬盘上的第三个主分区或扩展分区,hdb2表示为第二个ide硬盘上的第二个主分区或扩展分区。对于scsi硬盘则标识为“sdx~”,scsi硬盘是用“sd”来表示分区所在设备的类型的,其余则和ide硬盘的表示方法一样,不在多说。

    在 Linux 中规定,每一个硬盘设备最多能有 4个主分区(其中包含扩展分区)构成,任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是 4 个。

    Linux 规定了主分区(或者扩展分区)占用 1 至 16 号码中的前 4 个号码。以第一个 IDE 硬盘为例说明,主分区(或者扩展分区)占用了 hda1、hda2、hda3、hda4,而逻辑分区占用了 hda5 到 hda16 等 12 个号码。
      因此,Linux 下面每一个硬盘总共最多有 16 个分区。

    IDE硬盘最多有64个分区

    1.fdisk -l 查看系统分区详细信息

    [root@test4 ~]# fdisk -l
    Disk /dev/sda: 21.4 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          13      104391   83  Linux
    /dev/sda2              14        2610    20860402+  8e  Linux LVM
    

    注释:这个硬盘的大小是21.4GB,有255个磁面,63个扇区,2610磁柱(cylinders)

    每个cylinder(磁柱)的容量是 8225280 bytes=8225.280 K(约为)=8.225280M(约为);

    Device Boot Start End Blocks Id System

    /dev/sda1 * 1 13 104391 83 Linux

    /dev/sda2 14 1305 10377990 8e Linux LVM

    id和System 表示的是一个意思,id看起来不太直观,我们要在fdisk 一个分区时,通过指定id来确认分区类型;比如 7表示的就NTFS 分区;这个在fdisk 中要通过t功能来指定。83是linux。下面的部分会提到;

    说明:硬盘分区的表示:在Linux 是通过hdx 或 sdx 表示的:

    其中* 表示的是a、b、c … …

    另外x 表示的数字 1、2、3 … …

    hd大多是IDE硬盘;sd大多是SCSI或移动存储;引导(Boot):表示引导分区,在上面的例子中sda1 是引导分区;

    Start (开始):表示的一个分区从Xcylinder(磁柱)开始;

    End (结束):表示一个分区到 Ycylinder(磁柱)结束;

    2.fdisk 对磁盘进行分区

    [root@test4 ~]# fdisk /dev/sda  //对sda磁盘进行分区
    Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
    Building a new DOS disklabel. Changes will remain in memory only,
    until you decide to write them. After that, of course, the previous
    content won't be recoverable.
    
    
    The number of cylinders for this disk is set to 2597.
    There is nothing wrong with that, but this is larger than 1024,
    and could in certain setups cause problems with:
    1) software that runs at boot time (e.g., old versions of LILO)
    2) booting and partitioning software from other OSs
        (e.g., DOS FDISK, OS/2 FDISK)
    Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
    
    Command (m for help): m          //输出帮助信息
     Command action
        a   toggle a bootable flag    //设置启动分区
        b   edit bsd disklabel        //编辑分区标签
        c   toggle the dos compatibility flag
        d   delete a partition        //删除一个分区
        l   list known partition types  //列出分区类型
        m   print this menu           //输出帮助信息
        n   add a new partition       //建立一个新的分区
        o   create a new empty DOS partition table //创建一个新的空白DOS分区表
        p   print the partition table    //打印分区表
        q   quit without saving changes  //退出不保存设置
        s   create a new empty Sun disklabel
        t   change a partition's system id  //改变分区的ID
        u   change display/entry units    //改变显示的单位
        v   verify the partition table    //检查验证分区表
        w   write table to disk and exit  //保存分区表
        x   extra functionality (experts only)
    Command (m for help):n     
    Command action
       e   extended                 //e是扩展分区
       p   primary partition (1-4)  //p是主分区
    p
    Partition number (1-4): 1       //定义分区数量   --主分区最多只能有四个
    First cylinder (1-2597, default 1): 1
    Last cylinder or +size or +sizeM or +sizeK (1-2597, default 2597): +100M
    
    Command (m for help): w          //保存刚才的配置信息。
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    
    WARNING: Re-reading the partition table failed with error 22: 无效的参数.
    The kernel still uses the old table.
    The new table will be used at the next reboot.
    Syncing disks.
    
    [root@test6 ~]# fdisk /dev/sda
    
    The number of cylinders for this disk is set to 2610.
    There is nothing wrong with that, but this is larger than 1024,
    and could in certain setups cause problems with:
    1) software that runs at boot time (e.g., old versions of LILO)
    2) booting and partitioning software from other OSs
       (e.g., DOS FDISK, OS/2 FDISK)
    
    Command (m for help): n
    First cylinder (1710-2610, default 1710): 
    Using default value 1710
    Last cylinder or +size or +sizeM or +sizeK (1710-2610, default 2610): +100M     
    
    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    
    WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
    The kernel still uses the old table.
    The new table will be used at the next reboot.
    Syncing disks.
    [root@test6 ~]# partprobe /dev/sda //对硬盘进行更新
    [root@test6 ~]# fdisk -l
    
    Disk /dev/sda: 21.4 GB, 21474836480 bytes
    heads, 63 sectors/track, 2610 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          13      104391   83  Linux
    /dev/sda2              14         274     2096482+  82  Linux swap / Solaris
    /dev/sda3             275         404     1044225   8e  Linux LVM
    /dev/sda4             405        2610    17719695    5  Extended
    /dev/sda5             405        1709    10482381   83  Linux
    /dev/sda6            1710        1722      104391   83  Linux
    [root@test6 ~]# mkfs.ext3 /dev/sda6  //需要先进行格式化,才能使用 。mkfs -t ext3 /dev/sda5 (mkfs.ext3 一样效果 -t 指定类型 -b 指定block大小·)
    mke2fs 1.39 (29-May-2006)
    Filesystem label=
    OS type: Linux
    Block size=1024 (log=0)
    Fragment size=1024 (log=0)
    inodes, 104388 blocks
    blocks (5.00%) reserved for the super user
    First data block=1
    Maximum filesystem blocks=67371008
    block groups
    blocks per group, 8192 fragments per group
    inodes per group
    Superblock backups stored on blocks: 
            8193, 24577, 40961, 57345, 73729
    
    Writing inode tables: done                            
    Creating journal (4096 blocks): done
    Writing superblocks and filesystem accounting information: done
    
    This filesystem will be automatically checked every 23 mounts or
    days, whichever comes first.  Use tune2fs -c or -i to override.
    
    [root@test6 ~]# mount /dev/sda6 /mnt/sda7/  //进行挂载使用
    anaconda-ks.cfg  install.log  install.log.syslog
    [root@test6 ~]# df -h
    文件系统              容量  已用 可用 已用% 挂载点
    /dev/sda5             9.7G  1.1G  8.1G  12% /
    /dev/sda1              99M   12M   83M  13% /boot
    tmpfs                 252M     0  252M   0% /dev/shm
    /dev/hdc              3.9G  3.9G     0 100% /mnt/cdrom
    /dev/sda6              99M  5.6M   89M   6% /mnt/sda7
    

    1.磁盘管理常用命令
    1.1 ls -i 文件名 查看文件存储在哪个innode中

    [root@test6 ~]# ls -i lstest 
     1179659 lstest
    

    1.2 ls -id 文件夹名 查看文件夹存储在哪个innode中

    [root@test6 ~]# ls -id lstest1
    1179661 lstest1
    

    1.3 filefrag -v 文件名 查看文件存储block具体位置

    [root@test6 ~]# filefrag -v lstest
    Checking lstest
    Filesystem type is: ef53
    Filesystem cylinder groups is approximately 78
    Blocksize of file lstest is 4096
    File size of lstest is 5 (1 blocks)
    First block: 1183744
    Last block: 1183744
    lstest: 1 extent found
    

    2.硬盘工具:

    2.1 dumpe2fs /dev/sda1 查看分区superblock 和blockgroup等详细信息

    [root@test6 ~]# dumpe2fs /dev/sda1
    dumpe2fs 1.39 (29-May-2006)
    Filesystem volume name:   /boot
    Last mounted on:          <not available>
    Filesystem UUID:          0c7f5306-fd13-4b13-819f-4b6cab126938
    Filesystem magic number:  0xEF53
    Filesystem revision #:    1 (dynamic)
    Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super
    Default mount options:    user_xattr acl
    Filesystem state:         clean
    Errors behavior:          Continue
    Filesystem OS type:       Linux
    Inode count:              26104
    Block count:              104388
    Reserved block count:     5219
    Free blocks:              89552
    Free inodes:              26069
    First block:              1
    Block size:               1024
    Fragment size:            1024
    Reserved GDT blocks:      256
    Blocks per group:         8192
    Fragments per group:      8192
    Inodes per group:         2008
    Inode blocks per group:   251
    Filesystem created:       Tue Mar 28 07:57:05 2017
    Last mount time:          Tue Mar 28 08:29:57 2017
    Last write time:          Tue Mar 28 08:29:57 2017
    Mount count:              3
    Maximum mount count:      -1
    Last checked:             Tue Mar 28 07:57:05 2017
    Check interval:           0 (<none>)
    Reserved blocks uid:      0 (user root)
    Reserved blocks gid:      0 (group root)
    First inode:              11
    Inode size:               128
    Journal inode:            8  //ext3 日志inode位置
    Default directory hash:   tea
    Directory Hash Seed:      5e624e4a-049c-4cbf-a65f-8b8a7d08e398
    Journal backup:           inode blocks
    Journal size:             4114k  //日志文件大小
    
    
    Group 0: (Blocks 1-8192)
      Primary superblock at 1, Group descriptors at 2-2
      Reserved GDT blocks at 3-258
      Block bitmap at 259 (+258), Inode bitmap at 260 (+259)
      Inode table at 261-511 (+260)
    free blocks, 1990 free inodes, 2 directories
      Free blocks: 4642-5664
      Free inodes: 19-2008
    Group 1: (Blocks 8193-16384)
      Backup superblock at 8193, Group descriptors at 8194-8194
      Reserved GDT blocks at 8195-8450
      Block bitmap at 8451 (+258), Inode bitmap at 8452 (+259)
      Inode table at 8453-8703 (+260)
    free blocks, 2008 free inodes, 0 directories
      Free blocks: 11802-16384
      Free inodes: 2009-4016
    Group 2: (Blocks 16385-24576)
      Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1)
      Inode table at 16387-16637 (+2)
    free blocks, 2008 free inodes, 0 directories
      Free blocks: 16638-24576
      Free inodes: 4017-6024
    Group 3: (Blocks 24577-32768)
      Backup superblock at 24577, Group descriptors at 24578-24578
      Reserved GDT blocks at 24579-24834
      Block bitmap at 24835 (+258), Inode bitmap at 24836 (+259)
      Inode table at 24837-25087 (+260)
    free blocks, 1991 free inodes, 1 directories
      Free blocks: 25193-25600, 25609-26112, 26121-26624, 26632-27136, 27144-27648, 27657-28160, 28168-28672, 28683-29184, 29192-29696, 29704-30208, 30218-31744, 31804-32768
      Free inodes: 6042-8032
    Group 4: (Blocks 32769-40960)
      Block bitmap at 32769 (+0), Inode bitmap at 32770 (+1)
      Inode table at 32771-33021 (+2)
    free blocks, 2008 free inodes, 0 directories
      Free blocks: 33022-40960
      Free inodes: 8033-10040
    Group 5: (Blocks 40961-49152)
      Backup superblock at 40961, Group descriptors at 40962-40962
      Reserved GDT blocks at 40963-41218
      Block bitmap at 41219 (+258), Inode bitmap at 41220 (+259)
      Inode table at 41221-41471 (+260)
    free blocks, 2008 free inodes, 0 directories
      Free blocks: 41472-49152
      Free inodes: 10041-12048
    Group 6: (Blocks 49153-57344)
      Block bitmap at 49153 (+0), Inode bitmap at 49154 (+1)
      Inode table at 49155-49405 (+2)
    free blocks, 2008 free inodes, 0 directories
      Free blocks: 49406-57344
      Free inodes: 12049-14056
    Group 7: (Blocks 57345-65536)
      Backup superblock at 57345, Group descriptors at 57346-57346
      Reserved GDT blocks at 57347-57602
      Block bitmap at 57603 (+258), Inode bitmap at 57604 (+259)
      Inode table at 57605-57855 (+260)
    free blocks, 2008 free inodes, 0 directories
      Free blocks: 57856-65536
      Free inodes: 14057-16064
    Group 8: (Blocks 65537-73728)
      Block bitmap at 65537 (+0), Inode bitmap at 65538 (+1)
      Inode table at 65539-65789 (+2)
    free blocks, 2008 free inodes, 0 directories
      Free blocks: 65790-73728
      Free inodes: 16065-18072
    Group 9: (Blocks 73729-81920)
      Backup superblock at 73729, Group descriptors at 73730-73730
      Reserved GDT blocks at 73731-73986
      Block bitmap at 73987 (+258), Inode bitmap at 73988 (+259)
      Inode table at 73989-74239 (+260)
    free blocks, 2008 free inodes, 0 directories
      Free blocks: 74240-81920
      Free inodes: 18073-20080
    Group 10: (Blocks 81921-90112)
      Block bitmap at 81921 (+0), Inode bitmap at 81922 (+1)
      Inode table at 81923-82173 (+2)
    free blocks, 2008 free inodes, 0 directories
      Free blocks: 82174-90112
      Free inodes: 20081-22088
    Group 11: (Blocks 90113-98304)
      Block bitmap at 90113 (+0), Inode bitmap at 90114 (+1)
      Inode table at 90115-90365 (+2)
    free blocks, 2008 free inodes, 0 directories
      Free blocks: 90366-98304
      Free inodes: 22089-24096
    Group 12: (Blocks 98305-104387)
      Block bitmap at 98305 (+0), Inode bitmap at 98306 (+1)
      Inode table at 98307-98557 (+2)
    free blocks, 2008 free inodes, 0 directories
      Free blocks: 98558-104387
      Free inodes: 24097-26104
    

    2.2 fsck /dev/sda 检查硬盘情况 -C 显示检查过程 -f 强制检查
      2.3 badblocks /dev/sda5 检查硬盘坏道 -sv 显示进度和结果
    df 查看文件系统(-h 以合适的单位示系统大小 -T 显示系统类型)
    du 查看文件夹大小,包含文件夹里面文件
    du -s 仅仅查看文件夹大小
    du -h 以M方式显示大小,方便查看

    fuser -mv /mnt 当显示 设备正在忙的时候,可以使用这个命令查看使用进程
    tune2fs -l /dev/sda 查看磁盘参数(-h 查看可选选项,进行选项更改)

    [root@test6 ~]# tune2fs -l /dev/sda5
    tune2fs 1.39 (29-May-2006)
    Filesystem volume name:   /     //卷标
    Last mounted on:          <not available>
    Filesystem UUID:          4b64bcce-0acc-40f2-85e6-07e198152c20
    Filesystem magic number:  0xEF53
    Filesystem revision #:    1 (dynamic)
    Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
    Default mount options:    user_xattr acl
    Filesystem state:         clean
    Errors behavior:          Continue
    Filesystem OS type:       Linux
    Inode count:              2621440
    Block count:              2620595
    Reserved block count:     131029
    Free blocks:              2257390
    Free inodes:              2582833
    First block:              0
    Block size:               4096
    Fragment size:            4096
    Reserved GDT blocks:      639
    Blocks per group:         32768
    Fragments per group:      32768
    Inodes per group:         32768
    Inode blocks per group:   1024
    Filesystem created:       Tue Mar 28 07:57:02 2017
    Last mount time:          Tue Mar 28 08:29:56 2017
    Last write time:          Tue Mar 28 08:29:56 2017
    Mount count:              3
    Maximum mount count:      -1    //超过最大次数,则需要对分区进行自检
    Last checked:             Tue Mar 28 07:57:02 2017
    Check interval:           0 (<none>)
    Reserved blocks uid:      0 (user root)
    Reserved blocks gid:      0 (group root)
    First inode:              11
    Inode size:               128
    Journal inode:            8
    First orphan inode:       163883
    Default directory hash:   tea
    Directory Hash Seed:      8633f5c3-e870-428e-8ce3-7d636f0ef80a
    Journal backup:           inode blocks
    

    e21able /dev/sda7 aa 卷标的另一种改法

    展开全文
  • Linux磁盘配额详解

    2017-03-14 11:34:23
    Linux磁盘配额详解 一.什么是磁盘配额 磁盘配额是用来限制用户和用户组的的磁盘使用额度,可以理解为限制该用户、组在该分区下的使用文件大小、文件数量。 注:磁盘配额是针对用户在分区下的操作,而无法管理用户在...

    Linux磁盘配额详解

    一.什么是磁盘配额

    磁盘配额是用来限制用户和用户组的的磁盘使用额度,可以理解为限制该用户、组在该分区下的使用文件大小、文件数量。
    注:磁盘配额是针对用户在分区下的操作,而无法管理用户在整个磁盘的文件,因为一个磁盘若干分区,这是不可控的。

    二.磁盘配额使用条件

    1.磁盘配额实施的对象是硬盘分区,并且Linux的内核必须支持磁盘配额这种技术
    2.磁盘配额的记录文件保存在开启磁盘配额分区的根目录下面,它们是aquota.user和aquota.group;
    3.磁盘配额只对一般身份用户有效,对root权限用户无效;

    三.磁盘配额的相关术语

    最低限制(软限制,soft):最低限制容量(可以被超过,但会出现警告,超过的部分会保存到宽限时间到期),超出此范围会警告
       最高限制(硬限制,hard): 不能被超越的限制;
       宽限时间:当用户使用的空间超过了最低限制但还没到达最高限制时,在这个宽限时间到期前必须将超额的数据降低到最低限制以下(默认为7天),当宽限时间到期,系统将自动清除超出的数据;  

    四.磁盘使用配额流程
    启用磁盘配额选项
    开启磁盘配额数据库
    启用分区磁盘配额
    设置磁盘配额
    五.命令讲解

          分区挂载选项:usrquota、grpquota
          初始化数据库:quotacheck [-c|u|g]  分区
         启用磁盘配额:quotaon  分区
        查看分区磁盘配额:quotaon -p 分区
        查看用户磁盘配额:quota -g groupname| username
        设置磁盘配额:edquota username | -g groupname
        禁用磁盘配额:quotaoff  分区
        

    六.配置文件详解

    Disk quotas for user qikai (uid 506):
      Filesystem                   blocks       soft       hard     inodes     soft     hard
      /dev/sdb1                         0          0          0          0        0        0

    block:指的是用户在此文件已经存在文件大小
    soft:软,限制不严格,预警,针对空间
    hard:硬,强制限制,针对空间
    inodes:当前文件数量
    soft:软,限制不严格,预警,针对数量
    hard:硬,强制限制,针对数量
    注意:
    1.此处单位是k
    2.前三项配置针对空间设置,后三项配置针对数量配置
    3.可以增加一个选项grace,值为ndays,也就是预警或者限制的宽限期,时间限制
    4.针对组的配置限额,是针对的用户创建的文件的属组,而不是用户的所属组

    七.实验环节
    测试服务器:Centos6.8
    测试分区:/dev/sdb1 30G

    **
    1.首先我们先查看/dev/sdb2是否有配额默认选项,如果没有,我们重新挂载,把默认选项加上**
    2017_03_14_111434
    2.开启磁盘配额数库,会生成2个文件,我们以/dev/sdb2挂载的/test/目录为例
    2017_03_14_111801
    3.启用分区磁盘配额
    2017_03_14_112029
    4.此时大工告成,可以进行配额控制了(用户、组)
    2017_03_14_11224111
    2017_03_14_112318_
    5.如果想对某个用户或者组,直接编辑该文件即可
    6.如果我想卸载这个配额系统那该肿么办?
    2017_03_14_113148

    展开全文
  • Linux磁盘分区详解

    千次阅读 多人点赞 2019-05-10 15:01:27
    文章目录预备知识磁道扇区柱面簇文件系统本地存储设备的识别设备的挂载和卸载设备名称设备挂载磁盘分区具体分区步骤swap分区管理概念新建swap分区删除swap分区磁盘配额quota配额概念quota如何设定配额quota的限额...

    预备知识

    在开始之前,先了解一些基础知识。

    磁道

    • 硬盘被一圈圈分成18等分的同心圆,这些同心圆就是磁道。但打开硬盘,用户不能看到这些,它实际上是被磁头磁化的同心圆。这些磁道是有间隔的,因为磁化单元太近会产生干扰。

    扇区

    • 每个磁道中被分成若干等份的区域。扇区是硬盘数据存储的最小单位。

    柱面

    • 假如一个硬盘只有3个磁盘片,每一片中的磁道数是相等的。从外圈开始,这些磁道被分成了0磁道、1磁道、2磁道…具有相同磁道编号的同心圆组成面就称作柱面。为了便于理解,柱面可以看作没有底的铁桶。可以看出,柱面数就是磁盘上的磁道数。柱面是硬盘分区的最小单位。因此,一个硬盘的容量=柱面X磁头X扇区X512。

    • 扇区是硬盘数据存储的最小单位,但操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理.每个簇可以包括2、4、8、16、32、64个扇区

    文件系统

    在这里插入图片描述

    常见的文件系统 作用
    ext4 是 Red Hat Enterprise Linux 6 的标准文件系统。它非常强大可靠 , 具有多项可以提高现代工作量处理性能的功能。
    ext3 最多只能支持32TB的文件系统和2TB的文件,实际只能容纳2TB的文件系统和16GB的文件
    ext2 是常用于 Linux 中的较旧的文件系统。它简单可靠 ,非常适合小型存储设备,但是效率低。
    vfat 支持包括一系列相关文件系统 ( VFAT/FAT16/FAT32 ), 这些文件系统针对较旧版本的 Microsoft Windows 开发 , 在大量的系统和设备上受支持。
    xfs 在 Red Hat Enterprise Linux 7 的标准文件系统其具备数据完全、性能稳定、扩展性强 ( 8eb-1byte ) 、传输速率高 ( 7G/s )

    本地存储设备的识别

    我们先来了解一些如何查看本地存储设备呢?

    命令 含义
    fdisk -l 列出磁盘分区信息,系统中真实存在的硬盘,但是不一定能够识别
    cat /proc/partitions 系统可以识别的,但是不一定能用
    blkid 列出系统中可以使用的设备id,系统能够识别,也能够使用的
    df 查看系统中正在使用的设备信息,系统正在挂载的设备
    fdisk -l          列出磁盘分区信息,系统中真实存在的硬盘,但是不一定能够识别
    

    cat /proc/partitions 		 系统可以识别的,但是不一定能用
    
    blkid            	   列出系统中可以使用的设备id,系统能够识别,也能够使用的
    
    df                  查看系统中正在使用的设备信息,系统正在挂载的设备
    

    设备的挂载和卸载

    设备名称

    /dev/xdx         
    ##/dev/hd0  /dev/hd1 (并口硬盘)/dev/sda  /dev/sdb  (串口硬盘SATA)/dev/vda  /dev/vdb  系统中的虚拟硬盘
    /dev/mapper/*    		##虚拟设备
    /sda          	  	    ##系统第一块串口硬盘,a代表第一块
    /cdrom,/dev/sr0 		##代表光驱
    

    设备挂载

    mount  设备  挂载点            #挂载
    umount /mnt                   #卸载挂载到/mnt下,可能会挂载到别的目录下
    umount /dev/sdb1              #卸载/dev/sdb1s上的挂载
    
    mount  -o ro /dev/sdb1   /mnt/                #只读挂载
    mount  -o  remount,rw  /dev/sdb1 或者 /mnt/      #重新读写挂载
    mount    #查看挂载信息
    
    • 解决设备正忙的情况
      方法1:
    fuser -kvm /mnt
    umount /mnt
    

    方法2:

    lsof /mnt/		查看/mnt上使用的情况
    kill -9  进程号
    umount /mnt
    

    磁盘分区

    • 硬盘0磁道1扇区的512个字节中记录的信息如下:
    512 = 446   +64   +2  字节
          mbr   dpt   55AA
     
    mbr      硬盘主引导程序
    dpt      硬盘分区表(DPT)
    55AA     两个字节(55 AA)属于分区结束标志
    
    • 硬盘分区表 64字节,一块分区占16个字节,所以一块硬盘上最多划分4个主分区。
    主分区:用主分区表记录的分区
    扩展分区:主分区表记录的容器,不能直接使用
    逻辑分区:容器中的分区,我们后面会提到的LVM
    

    具体分区步骤

    • 第一步:fdisk -l
    [root@localhost Desktop]# fdisk -l
     
    Disk /dev/vda: 10.7 GB, 10737418240 bytes, 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x00013f3e
     
       Device Boot      Start         End      Blocks   Id  System
    /dev/vda1   *        2048    20970332    10484142+  83  Linux
     
    Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    
    • 第二步:fdisk /dev/vdb 进入相关分区界面
    command (m for help): m
    Command action
       a   toggle a bootable flag
       b   edit bsd disklabel
       c   toggle the dos compatibility flag
       d   delete a partition                             ##删除
       g   create a new empty GPT partition table
       G   create an IRIX (SGI) partition table
       l   list known partition types                     ##查询分区id
       m   print this menu                                ##查询帮助
       n   add a new partition                            ##新建
       o   create a new empty DOS partition table
       p   print the partition table                      ##显示分区
       q   quit without saving changes                    ##退出
       s   create a new empty Sun disklabel
       t   change a partition's system id                 ##修改分区id
       u   change display/entry units
       v   verify the partition table
       w   write table to disk and exit                    ##保存分区标信息到硬盘
       x   extra functionality (experts only)
    
    • 第三步:建立主分区
    [root@localhost Desktop]# fdisk /dev/vdb
    Welcome to fdisk (util-linux 2.23.2).
     
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
     
    Device does not contain a recognized partition table
    Building a new DOS disklabel with disk identifier 0x312c67f3.
     
    Command (m for help): n                                          ##新建分区
    Partition type:
       p   primary (0 primary, 0 extended, 4 free)                   ##主分区
       e   extended                                                  ##扩展分区
    Select (default p):  
    Using default response p                                         ##选择默认
    Partition number (1-4, default 1): 
    First sector (2048-20971519, default 2048): 
    Using default value 2048
    Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +100M  		##100M大小
    Partition 1 of type Linux and of size 100 MiB is set
     
    Command (m for help): p                                         ##查看分区
     
    Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x312c67f3
     
       Device Boot      Start         End      Blocks   Id  System
    /dev/vdb1            2048      206847      102400   83  Linux
     
    Command (m for help): wq                                         ##保存并退出
    The partition table has been altered!
     
    Calling ioctl() to re-read partition table.
    Syncing disks.
    
    • 第四步:格式化分区 mkfs.xfs /dev/vdb1 我们需要对分区格式化成想要的文件系统才可以进行文件的操作。
    [root@localhost Desktop]# mkfs.xfs /dev/vdb1
    meta-data=/dev/vdb1              isize=256    agcount=4, agsize=6400 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=0
    data     =                       bsize=4096   blocks=25600, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
    log      =internal log           bsize=4096   blocks=853, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    

    查看是否成功,就是查看可用设备blkid,此时/dev/vdb1为可用设备

    [root@localhost Desktop]# blkid
    /dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs" 
    /dev/vdb1: UUID="0168a321-bdd9-4ef5-b476-83de5ecd8b63" TYPE="xfs" 
    
    • 第五步:挂载,设备挂载之后才能使用
    [root@localhost Desktop]# mount /dev/vdb1 /mnt/
    [root@localhost Desktop]# df
    Filesystem     1K-blocks    Used Available Use% Mounted on
    /dev/vda1       10473900 3165192   7308708  31% /
    devtmpfs          469344       0    469344   0% /dev
    tmpfs             484932     140    484792   1% /dev/shm
    tmpfs             484932   12736    472196   3% /run
    tmpfs             484932       0    484932   0% /sys/fs/cgroup
    /dev/vdb1          98988    5280     93708   6% /mnt
    

    成功啦!

    • 第六步:继续添加分区
    • 注意:主分区+扩展分区+逻辑分区最多16个,再多系统也不识别。
    [root@localhost Desktop]# fdisk /dev/vdb
    Welcome to fdisk (util-linux 2.23.2).
     
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
     
     
    Command (m for help): n                                                	####继续添加分区
    Partition type:
       p   primary (1 primary, 0 extended, 3 free)
       e   extended
    Select (default p): p
    Partition number (2-4, default 2): 
    First sector (206848-20971519, default 206848): 
    Using default value 206848
    Last sector, +sectors or +size{K,M,G} (206848-20971519, default 20971519): +100M
    Partition 2 of type Linux and of size 100 MiB is set
     
    Command (m for help): p
     
    Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x312c67f3
     
       Device Boot      Start         End      Blocks   Id  System
    /dev/vdb1            2048      206847      102400   83  Linux
    /dev/vdb2          206848      411647      102400   83  Linux
     
     
    Command (m for help): n
    Partition type:
       p   primary (2 primary, 0 extended, 2 free)
       e   extended
    Select (default p): p
    Partition number (3,4, default 3): 
    First sector (411648-20971519, default 411648): 
    Using default value 411648
    Last sector, +sectors or +size{K,M,G} (411648-20971519, default 20971519): +100M
    Partition 3 of type Linux and of size 100 MiB is set
     
    Command (m for help): p
     
    Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x312c67f3
     
       Device Boot      Start         End      Blocks   Id  System
    /dev/vdb1            2048      206847      102400   83  Linux
    /dev/vdb2          206848      411647      102400   83  Linux
    /dev/vdb3          411648      616447      102400   83  Linux
     
    Command (m for help): n
    Partition type:
       p   primary (3 primary, 0 extended, 1 free)
       e   extended
    Select (default e):                             	####当添加到第四个分区,默认分区为扩展分区e
    Using default response e
    Selected partition 4
    First sector (616448-20971519, default 616448): 
    Using default value 616448
    Last sector, +sectors or +size{K,M,G} (616448-20971519, default 20971519): ##默认大小全部给扩展分区,否则剩下的就浪费了
    Using default value 20971519
    Partition 4 of type Extended and of size 9.7 GiB is set
     
    Command (m for help): p
     
    Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x312c67f3
     
       Device Boot      Start         End      Blocks   Id  System
    /dev/vdb1            2048      206847      102400   83  Linux
    /dev/vdb2          206848      411647      102400   83  Linux
    /dev/vdb3          411648      616447      102400   83  Linux
    /dev/vdb4          616448    20971519    10177536    5  Extended
     
    Command (m for help): wq
    The partition table has been altered!
     
    Calling ioctl() to re-read partition table. 
    

    当出现warning:

    WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
    The kernel still uses the old table. The new table will be used at
    the next reboot or after you run partprobe(8) or kpartx(8)
    Syncing disks.
    

    我们需要手动同步分区表:

    [root@localhost Desktop]# partprobe
    [root@localhost Desktop]# cat /proc/partitions 		##查看系统可以识别的分区,发现成功
    major minor  #blocks  name
     
     253        0   10485760 vda
     253        1   10484142 vda1
     253       16   10485760 vdb
     253       17     102400 vdb1
     253       18     102400 vdb2
     253       19     102400 vdb3
     253       20          1 vdb4
    
    • 永久挂载:
      vim /etc/fatab 开机自动挂载策略文件
    /dev/vdb5   /mnt 	 xfs  	defaults              0   		 0  
     分区        挂载点 	格式     挂载参数        		是否备份 	是否检测
    

    swap分区管理

    概念

    • Swap分区在系统的物理内存(这里应该是运行内存)不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。

    新建swap分区

    • 第一步:使用 fdisk 创建新分区。 在用 fdisk 保存更改之前 , 将分区类型更改为 “ Linux Swap”。
    [root@localhost Desktop]# swapon -s
    [root@localhost Desktop]# fdisk /dev/vdb
    Welcome to fdisk (util-linux 2.23.2).
     
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
     
     
    Command (m for help): p
     
    Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x312c67f3
     
       Device Boot      Start         End      Blocks   Id  System
    /dev/vdb1            2048      206847      102400   83  Linux
    /dev/vdb2          206848      411647      102400   83  Linux
    /dev/vdb3          411648      616447      102400   83  Linux
    /dev/vdb4          616448    20971519    10177536    5  Extended
    /dev/vdb5          618496      823295      102400   83  Linux
     
    Command (m for help): n
    All primary partitions are in use
    Adding logical partition 6
    First sector (825344-20971519, default 825344): 
    Using default value 825344
    Last sector, +sectors or +size{K,M,G} (825344-20971519, default 20971519): +100M
    Partition 6 of type Linux and of size 100 MiB is set
     
    Command (m for help): p
     
    Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x312c67f3
     
       Device Boot      Start         End      Blocks   Id  System
    /dev/vdb1            2048      206847      102400   83  Linux
    /dev/vdb2          206848      411647      102400   83  Linux
    /dev/vdb3          411648      616447      102400   83  Linux
    /dev/vdb4          616448    20971519    10177536    5  Extended
    /dev/vdb5          618496      823295      102400   83  Linux
    /dev/vdb6          825344     1030143      102400   83  Linux
     
    Command (m for help): t                                       ####更改类型
    Partition number (1-6, default 6): 6
    Hex code (type L to list all codes): l
     
     0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
     1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
     2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
     3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
     4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         
     5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data    
     6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
     7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   
     8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         
     9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     
     a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
     b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
     c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi eb  BeOS fs        
     e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
     f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
    10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC b
    11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
    12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
    14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f2  DOS secondary  
    16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
    17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
    18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
    1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep        
    1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT            
    1e  Hidden W95 FAT1 80  Old Minix      
    Hex code (type L to list all codes): 82                             ##改换分区
    Changed type of partition 'Linux' to 'Linux swap / Solaris'
    Command (m for help): p
    Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x312c67f3
       Device Boot      Start         End      Blocks   Id  System
    /dev/vdb1            2048      206847      102400   83  Linux
    /dev/vdb2          206848      411647      102400   83  Linux
    /dev/vdb3          411648      616447      102400   83  Linux
    /dev/vdb4          616448    20971519    10177536    5  Extended
    /dev/vdb5          618496      823295      102400   83  Linux
    /dev/vdb6          825344     1030143      102400   82  Linux swap / Solaris
    Command (m for help): wq
    The partition table has been altered!
    Calling ioctl() to re-read partition table.
    WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
    The kernel still uses the old table. The new table will be used at
    the next reboot or after you run partprobe(8) or kpartx(8)
    Syncing disks.
    
    • 第二步:将刚刚swap分区用作交换区格式
    mkswap	/dev/vdb6 
    
    • 第三步:永久挂载,将新swap添加到 /etc/fstab
      在这里插入图片描述
    • 第四步:swapon -a /dev/vdb6 将激活新交换区
    • 第五步:swapon -s 查看当前交换去状态
     [root@localhost Desktop]# swapon -a /dev/vdb6
     [root@localhost Desktop]# swapon -s
    Filename                Type        Size    Used    Priority
    /dev/vdb6                                  partition    102396    0    -1
    

    删除swap分区

    • 第一步:编辑 /etc/fstab文件,取消永久挂载
    • 第二步:swapoff /dev/vda6 停用特定交换区
    swapoff /dev/vdb6
    
    • 第三步:删除相关设备,fdisk /dev/vdb,进入编辑界面,删除设备
    [root@localhost Desktop]# fdisk /dev/vdb
    Welcome to fdisk (util-linux 2.23.2).
     
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
     
     
    Command (m for help): d                                  ##删除设备
    Partition number (1-6, default 6): 6
    Partition 6 is deleted
     
    Command (m for help): p
     
    Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x312c67f3
     
       Device Boot      Start         End      Blocks   Id  System
    /dev/vdb1            2048      206847      102400   83  Linux
    /dev/vdb2          206848      411647      102400   83  Linux
    /dev/vdb3          411648      616447      102400   83  Linux
    /dev/vdb4          616448    20971519    10177536    5  Extended
    /dev/vdb5          618496      823295      102400   83  Linux
     
    Command (m for help): wq
    The partition table has been altered!
     
    Calling ioctl() to re-read partition table.
     
    WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
    The kernel still uses the old table. The new table will be used at
    the next reboot or after you run partprobe(8) or kpartx(8)
    Syncing disks.
    
    • 第四步:删除设备后,同步分区表
    partprobe
    

    磁盘配额quota

    配额概念quota

    • 就是限制用户对磁盘空间的使用量。

    • 原因:因为Linux是多用户多任务的操作系统,用户共用磁盘空间,为了合理的分配磁盘空间,于是就有了quota的出现。

    • quota的用途:显示磁盘使用情况和配额

    • quota的一般作用对象
      (1)针对Web server
      (2)针对mail server
      (3)针对file server

    • quota的限制
      (1)仅能针对整个文件系统
      (2)需要kernel的支持
      (3)只对一般用户有效

    如何设定配额quota的限额

    • 第一步:开启quota功能
    mount -o usrquota /dev/vdb5  /westos 
    chmod  777 /westos
    
    • 第二步:设定student用户对磁盘/dev/vdb5的配额,使用edquota -u student命令编辑文件
    filesystem blocks    soft  hard   inodes   soft   hard
      1         2         3     4      5        6      7
    1:文件系统,说明该限制值时针对哪个文件系统
    2:磁盘容量,这个值由quota计算,不要更改
    3:磁盘容量的soft限制值
    4:磁盘容量的hard限制值
    5:文件数量,这个值由quota计算,不要改动
    6:inode的soft值
    7:inode的hard值
     
    soft/hard为0时,表示没有限制,我们需要的是设置blocks的soft/hard值,inode的不要更改
    

    在这里插入图片描述

    • 第三步:配额自动挂载
    /dev/vdb5  /pub  xfs   defauits,usrquota  0  0
    

    此时,student用户就只有2M的磁盘配额空间,也就是不能放入超过2M的文件,否则就会报错。

    磁盘加密cryptsetup

    概念

    • LUKS ( Linux 统一密钥设置 ) 是标准的设备加密格式。
      LUKS 可以对分区或卷进行加密,必须首先对加密的卷进行解密 ,才能挂载其中的文件系统。

    加密方法

    • 第一步:cryptsetup luksFormat /dev/vdb5 ##加密设备
      在这里插入图片描述
    • 第二步:将设备加密,并将加密后的虚拟设备命名mac
      在这里插入图片描述
    • 第三步:虚拟设备格式化
      在这里插入图片描述
    • 第四步:挂载设备到挂载点
      在这里插入图片描述
    • 第五步:卸载并关闭虚拟设备,自关闭开始,这个虚拟设备失效,之前的文件无法查看。
    umount /mac
    cryptsetup close mac
    

    在这里插入图片描述
    在这里插入图片描述

    加密设备开机自动挂载

    • 第一步:一样的,也是编辑/etc/fstab,将虚拟文件自动挂载
      在这里插入图片描述

    • 第二步:编辑/root/newpasswd密码文件,写入密码,并修改其权限chmod 600 /root/newpasswd
      在这里插入图片描述

    • 第三步:编辑/etc/crypttab文件,将加密后的虚拟设备和其密码文件写入
      在这里插入图片描述

    • 第四步:将设备/dev/vdb1和密码文件/root/newpasswd关联到一起
      在这里插入图片描述
      成功!
      在这里插入图片描述

    删除加密后的虚拟设备

    • 第一步:编辑/etc/fstab文件,删除文件中的内容
    • 第二步:编辑/etc/crypttab文件,删除文件内容
    • 第三步:解除加密关系
      在这里插入图片描述
    • 第三步:解挂设备
    umount /mac
    
    • 第四步:关闭虚拟设备
    cryptsetup  close  mac
    
    • 第五步:格式化设备
    mkfs.xfs /dev/vdb1 -f   ##强制格式化设备
    
    展开全文
  • linux磁盘命令详解

    千次阅读 2019-05-28 14:25:01
    转自:https://www.cnblogs.com/jxhd1/p/6700300.html https://www.cnblogs.com/lsgxeva/p/9610003.html ... 一:df命令 df 命令: linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占...
  • linux磁盘配额详解

    2008-09-06 16:42:00
    所以,限制和管理用户使用的硬盘空间是非常重要的,无论是文件服务、FTP服务还是E-mail服务,都要求对用户使用的磁盘容量进行有限 地控制,以避免对资源的滥用。Linux磁盘配额(Disk Quotas)能够简单高效地实现...
  • linux磁盘分区详解

    2013-08-09 18:40:34
    linux磁盘分区详解,Centos下磁盘管理
  • linux磁盘配额详解(EXT4和XFS)

    千次阅读 2020-06-18 15:38:39
    Linux系统作为一个多用户的操作系统,在生产环境中,会发生多个用户共同使用一个磁盘的情况,会造成Linux根分区的磁盘空间耗尽,导致Linux系统无法建立新的文件,从而出现服务程序崩溃、系统无法启动等故障现象。...
  • Linux磁盘管理之df命令详解和使用实例(查看磁盘空间占用情况) 来源:互联网 作者:佚名 时间:04-09 16:49:03 【大 中 小】 linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。...
  • Linux 磁盘管理 : quota 命令详解

    千次阅读 2018-07-12 11:12:46
    什麼是 quota?... 在 Linux 系統中,由於是多人多工的環境,所以會有多人共同使用一個硬碟空間的情況發生,如果其中有少數幾個使用者大量的佔掉了硬碟空間的話,那勢必壓縮其他使用者的使用權...
  • Linux 磁盘管理 : ls 命令详解

    千次阅读 2018-07-12 10:41:12
    ls命令用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。 语法 ls(选项)(参数) 选项 -a:显示所有档案及目录(ls内定将档案名或目录名称为...
  • Linux 磁盘管理 : stat 命令详解

    千次阅读 2018-07-12 14:06:19
    stat命令用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细。语法stat(选项)(参数)选项-L:支持符号连接; -f:显示文件系统状态而非文件状态;...详解:查看文件或目录的诸如atime,mtime,c...
  • Linux 磁盘管理之 LVM 详解与实战上

    千次阅读 2018-04-02 21:59:30
    许多 Linux 使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配...而 LVM 技术就实现了用户动态管理分配磁盘的需求。 一. LVM 的认识 简介 LVM(Logical Volume Manager)逻辑盘卷管理, LVM是在磁盘...
  • Linux 磁盘管理 : umount 命令详解

    千次阅读 2018-07-30 11:34:35
    umount命令用于卸载已经加载的文件系统。利用设备名或挂载点都能umount文件系统,不过最好还是通过挂载点卸载,以免使用绑定挂载(一个设备,多个挂载点)时产生混乱。 语法 umount(选项)(参数) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 45,123
精华内容 18,049
关键字:

linux磁盘管理详解

linux 订阅