zoukankan      html  css  js  c++  java
  • 磁盘管理

    一. 磁盘在系统中的命名

    主分区<====扩展分区<====逻辑分区: 

    二. MBR 分区

    1.查看设备详情以及分区情况的命令: lsblk

    partprobe  更新硬盘分区表信息

     2. fdisk 工具:

    用于磁盘小于2TB的磁盘,分区类型MBR,最多四个主分区或者3个主分区加上一个扩展分区(里面可以创建多个逻辑分区),分区完成后需要保存才能生效.

    fdisk 
    m 命令菜单
    n 创建分区
    d 删除分区
    q 退出不保存
    w 保存退出
    p 显示分区表的信息
    l 显示分区类型

    注意:fdisk 最多只能创建4个主分区,即使硬盘还有剩余空间,也无法继续创建分区.可以创建三个主分区,创建一个扩展分区,然后在扩展分区里创建多个逻辑分区.但逻辑分区的总大小不能超过扩展分区的大小.

     三. GPT 分区

    gdisk分区,支持2TB以上的硬盘分区,可以创建128个主分区。
    #需要安装: [root@oldboy ~]# yum install -y gdisk
    gdisk
    d   #删除分区
    p   #打印分区表
    n   #添加一个新的分区
    w  #保存并退出
     
    进行分区

     gdisk分区详细过程:

    [root@oldboy ~]# gdisk /dev/sdc
    GPT fdisk (gdisk) version 0.8.10
     
    Partition table scan:
    MBR: not present
    BSD: not present
    APM: not present
    GPT: not present
     
    Creating new GPT entries.
    Command (? for help): ?
    b back up GPT data to a file #将GPT数据备份到文件中
    c change a partition's name #更改分区的名称
    ** d delete a partition #删除分区
    i show detailed information on a partition #显示分区的详细信息
    ** l list known partition types #列出已知的分区类型
    ** n add a new partition #添加一个新的分区
    o create a new empty GUID partition table (GPT) #创建一个新的空GUID分区表(GPT)
    ** p print the partition table #打印分区表
    ** q quit without saving changes #没有保存更改就退出
    r recovery and transformation options (experts only) #恢复和转换选项(仅限专家使用)
    s sort partitions #年代分类分区
    t change a partition's type code #不要更改分区的类型代码
    v verify disk #验证磁盘
    ** w write table to disk and exit #将表写入磁盘并退出
    x extra functionality (experts only) #额外功能(仅限专家使用)
    ** ? print this menu #打印菜单
     
    Command (? for help): n #创建分区
    Partition number (1-128, default 1): #选择分区表的编号,选择默认,直接回车键
    First sector (34-6442450910, default = 2048) or {+-}size{KMGTP}: #扇区的开始位置,选择默认,直接回车键
    Last sector (2048-6442450910, default = 6442450910) or {+-}size{KMGTP}:
    #该分区扇区的结束位置,选择默认,只做一个分区,直接回车键,最大值
     
    Current type is 'Linux filesystem'
    Hex code or GUID (L to show codes, Enter = 8300): L #显示其他文件类型
     
    Hex code or GUID (L to show codes, Enter = 8300): #选择默认,直接回车
    Changed type of partition to 'Linux filesystem'
    Command (? for help): p #打印分区的信息
     
    Disk /dev/sdc: 6442450944 sectors, 3.0 TiB
    Logical sector size: 512 bytes
    Disk identifier (GUID): C783DB62-2CE8-44B1-A2C2-3589541AF6E0
    Partition table holds up to 128 entries
    First usable sector is 34, last usable sector is 6442450910
    Partitions will be aligned on 2048-sector boundaries
    Total free space is 2014 sectors (1007.0 KiB)
    Number Start (sector) End (sector) Size Code Name
    1 2048 6442450910 3.0 TiB 8300 Linux filesystem
     
    Command (? for help): w #保存并退出
     
    Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
    PARTITIONS!!
     
    Do you want to proceed? (Y/N): y #确认操作
     
    OK; writing new GUID partition table (GPT) to /dev/sdc.
    The operation has completed successfully.
     
     
     
    四. 格式化制作文件系统并挂载
     
    1.格式化制作文件系统
    可以不分区,直接格式化制作文件系统:
    mkfs.xfs /dev/sdb #/dev/sdb整体就是一个分区
    也可以基于mbr或者gpt分区完毕后,针对某一个分区制作文件系统:
    mkfs.xfs /dev/sdb1
     
    2.挂载与卸载
    mount挂载
    选项:
    -t #文件系统
    [root@oldboy ~]# mount -t xfs /dev/sdc1 /data
    -o #指定挂载的参数
    [root@oldboy ~]# mount -o ro /dev/sdc1 /data 设置挂载目录只读不能写入
    [root@oldboy ~]# touch /data/123
    touch: cannot touch ‘/data/123’: Read-only file system
    -a #重新挂载配置文件/etc/fstab里面的分区表
     
    umount 卸载
    -l #强制卸载
     
    mount /dev/sdb1 /opt/  把sdb1挂载到/opt目录下
    umount /dev/sdb1 或者 umount /opt  #卸载
    umount -l /dev/sdb1 或者 umount -l /opt #强制卸载
     
    开机自动挂载:
    blkid 先查看分区的UUID

    然后vim /etc/fstab,编辑完成后,执行mount -a 将/etc/fstab的所有内容重新加载一遍.

     

    五.制作swap 分区

     
    1.临时增加内存,需要找个1G的分区
    fdisk /dev/sdb2 创建一个1G分区
     
    2.制作swap文件系统
    mkswap /dev/sdb2
     
    3.激活swap内存
    swapon /dev/sdb2
     
    4.查看虚拟内存信息
    [root@oldboy ~]# free -m
    total used free shared buff/cache available
    Mem: 1980 100 1692 9 188 1695
    Swap: 4095 0 4095
     
    5.缩减swap内存
    [root@oldboy ~]# swapoff /dev/sdb2
    [root@oldboy ~]# free -m
    total used free shared buff/cache available
    Mem: 1980 100 1691 9 188 1695
    Swap: 2047 0 2047
     
    6.禁用所有的swap内存
    [root@oldboy ~]# swapoff -a
    [root@oldboy ~]# free -m
    total used free shared buff/cache available
    Mem: 1980 98 1694 9 187 1697
    Swap: 0 0 0
     
    7.恢复swap内存
    [root@oldboy ~]# swapon -a
    [root@oldboy ~]# free -m
    total used free shared buff/cache available
    Mem: 1980 98 1694 9 187 1697
    Swap: 2047 0 2047
     
    8.查看swap内存使用的分区
    [root@oldboy ~]# swapon -s
    Filename Type Size Used Priority
    /dev/sda2 partition 2097148 0 -2
    /dev/sdb2 partition 2097148 0 -3
     
     
    9.通过一个大文件的方式添加临时内存
    [root@oldboy ~]# dd if=/dev/zero of=/swap_file bs=100M count=10
    10+0 records in
    10+0 records out
    1048576000 bytes (1.0 GB) copied, 0.992418 s, 1.1 GB/s
     
    [root@oldboy ~]# ll /swap_file
    -rw-r--r--. 1 root root 1048576000 Jul 17 19:00 /swap_file
     
    [root@oldboy ~]# chmod 600 /swap_file
     
    [root@oldboy ~]# mkswap -f /swap_file
    Setting up swapspace version 1, size = 1023996 KiB
    no label, UUID=d822190d-7826-4fb4-9f1c-e011cd421eca
     
    [root@oldboy ~]# swapon /swap_file
    swapon: /data/swap_file: insecure permissions 0644, 0600 suggested.
    [root@oldboy ~]# free -m
    total used free shared buff/cache available
    Mem: 1980 99 663 9 1217 1682
    Swap: 3047 0 3047

    六. 修复文件系统

    先尝试修复: xfs_repair /dev/sdb1
    如果不行再强制修复,但是数据会丢失,所以需要提前做好备份:
    xfs_repair -L /dev/sdb1
    如果是ext文件系统,可以使用fsck命令:
    fsck -f -y /dev/sda1 

    七. 文件系统备份与恢复

    先安装xfsdump :使用yum -y install xfsdump

    xfsdump 的备份级别有两种,默认0(完全备份)

    0 :完全备份

    1-9(十个级别):增量备份

    ps:增量备份是和第一次的完全备份进行比较,只备份有差异的文件.

    xfsdump常用参数:

    -L (session label) :xfsdump可以记录每次备份的会话标签,这里填写针对此文件系统的简易说明

    -M (media label):xfsdump 可以纪录储存媒体的标签,这里可以填写此媒体的简易说明(哪个设备)

     -l (小写L):指定等级,有0-9共10个级别,默认为0,即完全备份

    -f :指定备份到什么路径和原文件的路径

    使用 xfsdump 时的几个限制:
    1、xfsdump 不支持没有挂载的文件系统备份!所以只能备份已挂载的!
    2、xfsdump 必须使用 root 的权限才能操作 (涉及文件系统的关系)
    3、xfsdump 只能备份 XFS 文件系统
    4、xfsdump 备份下来的数据 (档案或储存媒体) 只能让 xfsrestore 解析
    5、xfsdump 是透过文件系统的 UUID 来分辨各个备份档的,因此不能备份两个具有相同 UUID 的文件系统

    #数据备份

    先做全量备份,注意备份的源文件路径后面不要加左斜杠 " / " :

    xfsdump -l 0 -L sdb3_bak -M sdb3_bak -f  全量备份到某个路径下file1  备份的源文件路径
    在做增量备份:
    xfsdump -l 1 -L sdb3_bak -M sdb3_bak -f   增量备份到某个路径下file2  备份的源文件路径
    xfsdump -l 1 -L sdb3_bak -M sdb3_bak -f   增量备份到某个路径下file3  备份的源文件路径
    xfsdump -l 1 -L sdb3_bak -M sdb3_bak -f   增量备份到某个路径下file4  备份的源文件路径
     
    #数据恢复
    先恢复全量备份:
    xfsrestore -f   全量备份到某个路径下file1  数据恢复的路径
    再依次恢复增量备份:
    xfsrestore -f   增量备份到某个路径下file2  数据恢复的路径
    xfsrestore -f   增量备份到某个路径下file3  数据恢复的路径
    xfsrestore -f   增量备份到某个路径下file4  数据恢复的路径
     
    全量备份:

    增量备份:

    数据恢复,先恢复全量数据:

     在恢复增量数据:

     
     

  • 相关阅读:
    使用 Facebook开源动画库 POP 实现真实衰减动画
    在命名空间下定义类型
    作为程序猿我给csdn博客加入打赏功能
    linux高可用集群heartbeat实现http的高可用
    杭电 HDU 1247 ACMHat’s Words(trie树 或着STL)
    取石子(一)-博弈数论
    区块链技术开发怎么结合已有产业链落地?
    KafkaConsumer assign VS subscribe
    KafkaConsumer assign VS subscribe
    KafkaConsumer assign VS subscribe
  • 原文地址:https://www.cnblogs.com/allenzhu128/p/13936402.html
Copyright © 2011-2022 走看看