linux磁盘分区及LVM逻辑卷管理

1、描述GPT是什么,该怎么使用

 (转载)GPT是GUID Partition Table,GUID分区表。GUID(Globals Unique Identifiers)全局唯一识别。GPT支持128个分区,使用64位,支持8ZB(512Byte/block) 以及64ZB(4096Byte/block)大小的磁盘。

使用128位UUID表示磁盘和分区,GPT分区表自动备份在头和尾两份,并有CRC校验位。具体分为4个区域:

EFI信息区(含保护性MRB区和GPT头)、分区表、GPT分区(最大可有128个分区)、备份分区表信息

UEFI(统一扩展固件接口)硬件支持GPT,它的开机过程是:开机-->UEFI初始化-->引导操作系统-->进入系统

相关的使用命令:

1.gdisk创建GPT分区(交互式创建)与fdisk相似

-l /dev/sdx 查看分区信息

以下为交互菜单的信息

(?|m) 显示交互菜单与帮助

n 建立分区

d 删除分区

c 更改分区名字

I 显示分区的详细信息

p 显示分区信息

t   转换分区类型

a 将指定分区设置/取消 活动分区

l 查看分区类型

o 重建分区表

v 验证分区表,显示剩余没有被分区划分的扇区数量

q 退出不保存,不保存,所有的修改都不生效

w 退出并保存

2.parted命令(交互式或命令式,一旦操作即时生效,使用时请注意)

parted  /dev/sdb mklabel gpt 给指定的磁盘指定GPT的分区方式

parted  /dev/sdb mkpart primary 1 200(单位默认为M)创建新分区

parted  /dev/sdb print   显示分区信息

parted  /dev/sdb rm 1  删除分区

parted  -l /dev/sdb 查看分区

3.partprobe同步硬盘上分区表到内存中。当两者不同步时使用。


2、创建一个10G的分区,并格式化为ext4文件系统

   (1)block大小为2048,预留20%,卷标为MYDATA

    (2)挂载至/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳

    (3)可开机挂载

          创建分区:使用fdisk命令指定要分区的磁盘

        查看分区:cat /proc/partitions 

           创建文件系统:

        挂载分区,并指定属性:

        挂载查看是否成功:

      设置开机自动挂载:

           除根文件系统以外的其它文件系统,能够开机时自动挂载需要配置:/etc/fstab 

           mount -a :可自动挂载定义在此文件中的所支持自动挂载的设备

每行定义一个要挂载的文件系统相关属性,一共有6个字段分别对应的意义:

(1)要挂载的设备:

    /dev/DEVICE

    LABEL

    UUID

    伪文件系统:如sysfs,proc,tmpfs

(2)挂载点:

    swap类型的设备的挂载点为swap

(3)文件系统类型:

    ext4

    ext3

    ext2

    xfs

(4)挂载选项:

    defaults:使用默认挂载选项

    常用选项:defaults,acl,noatime,noexec

(5)转储频率:

    0:从不备份

    1:每天备份

    2:每隔一天备份

(6)自检次序:

    0:不自检

    1:首先自检,通常只能是根文件系统可用1

    2:次级自检


3、创建一个大小为1G的swap分区, 并启用

            首先创建一个1G的分区,指定磁盘ID号为82

        使用mkswap命令,设置为swap分区:

        查看是否成功:

        swapon命令:启动swap分区 

        swapoff命令:关闭swap分区


4、编写脚本计算/etc/passwd 文件中第10个用户和第20个用户的id之和

    第一版:

         #!/bin/bash

            #计算/etc/passwd文件中第10个用户和第二十个用户

             user10=$( cat /etc/passwd |head -10 |tail -1 |cut -d: -f3  )

             echo "user10:$user10"

             user20=$( cat /etc/passwd |head -20 |tail -1 |cut -d: -f3  )

             echo "user20:$user20"

              echo "sum ID:$(($user10+$user20))"

            执行脚本测试:

        第二版:         

      #awk -F: 'BEGIN{sum=0}{if(NR==10 || NR==20)sum=sum+$3}END{print sum}' /etc/passwd

命令解释:

-F: 指定分隔符为:

BEGIN{sum=0}:首先申明变量sum值为0

{if(NR==10 || NR==20)sum=sum+$3}:NR是awk命令的内置变量,表示为第10行或者20行时,把$3的值,加入到sum当中。($3就为/etc/passwd文件的第三字段,ID号)

END{print sum}:最后打印sum的值,这里的变量不用加$号。


5、将当前主机名保存至hostName变量中,主机名如果为空,或为localhost.localdomain则将设置为 www.magedu.com

        hostName=$(hostname) 

      [ -z "$hostName" -o "$hostName"=="localhost.localdomain" ] && hostname www.magedu.com 

6、编写脚本,通过命令行 参数传入一个用户名,判断id号是偶数还是奇数;

        #!/bin/bash

        #通过命令行参数给定一个用户名,判断其ID是偶数还是奇数

               if [ $# -lt 1 ] ;then

                    echo "please enter one parameter"

                    exit 1

                fi

                num1=$(id -u $1)

                let ID=$num1%2

                if [ $ID -eq 0 ] ;then

                        echo "$1:ID even number"

                   else

                        echo "$1:ID odd number"

                  fi

        执行脚本测试:

7、lvm基本应用以及扩展缩减实现


pv管理工具:

    pvs命令:简要pv信息显示

    pvdisplay命令:显示pv的详细信息

    pvcreate命令: pvcreate /dev/device :创建pv

    pvremove命令:pvremove /dev/device  :移除pv

    pvmove命令:pvmove /dev/device :移动pv


vg管理工具:

    vgs命令;简要vg信息显示

    vgdispaly命令:显示vg的详细信息

    vgcreate命令:vgcreate vg_name /dev/device :创建vg:先指定vg_name,在指定要创建设备

        -s#:指定pe大小

    vgextend命令:vgextend VG_NAME /dev/device :添加/dev/device 到VG_NAME

    vgreduce命令:vgreduce VG_NAME /dev/device:缩减vg,需要先做pvmove

    vgremove命令:vgmove /dev/device


lv管理管理工具:

    lvs命令:简要lvs信息显示

    lvdispaly命令:显示lv详细信息

    lvcreate命令:创建lv:lvcreate -L #[mMgGtT] -n lv_name  vg_name

    lvremove命令:移除lv

列如:

    创建:lvcreate -L 3G -n LV_NAME VG_NAME :指定大小为3G,指定lv,在vg中创建。

    格式化:mke2fs  -t ext4 -b 1024 -L HELLO  /dev/VG_NAME/LV_NAME

    挂载:mount /dev/VG_NAME/LV_NAME   /media


扩展逻辑卷:(支持在线扩展)

    lvextend命令: lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME

    创建:lvextend -L 5G  /dev/VG_NAME/LV_NAME :扩展为5G

    创建:lvextend -L +5G  /dev/VG_NAME/LV_NAME :在原来的大小上再加5G


    resize2fs命令:扩展逻辑卷

    resize2fs /dev/VG_NAME/LV_NAME

 注意:上面的扩展方法只适合ext系列,如果是xfs文件系统的话,需要按如下方法扩容:

   xfs_growfs /dev/VG_NAME/LV_NAME


缩减逻辑卷:

    卸载:umount  /dev/VG_NAME/LV_NAME

    强制检测:e2fsck -f   /dev/VG_NAME/LV_NAME

    缩减逻辑边界:resize2fs   /dev/VG_NAME/LV_NAME 5G :缩减至5G

    修改物理边界:lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME

    重新挂载:mount /dev/VG_NAME/LV_NAME  /test


快照:快照就是某一时刻立即创建一个对原卷文件元数据的监视器,当原卷上文件元数据要变化的时候,先把原文件复制一份到快照卷上,而没有变化的就指向原卷上的文件数据。

快照的相关命令:

    创建快照:lvcreate -s -L 1G -p r -n LV_NAME_snapshoot   /dev/VG_NAME/LV_NAME 


练习:

1: 创建一个至少有两个pv组成的大小为20G的名为testvg的VG,要求PE大小为16MB,而后在卷组中创建大小为5G的逻辑卷testlv,挂载至/users目录

创建pv:[root@bogon ~]# pvcreate /dev/sdb{1,2}

创建vg:[root@bogon ~]# vgcreate  -s 16m testvg /dev/sdb{1,2}   -s :指定PE大小

创建lv:[root@bogon ~]# lvcreate -L 5G -n testlv testvg     -L:指定大小      -n:指定名字

格式化:[root@bogon ~]# mke2fs -t ext4 /dev/testvg/testlv

挂载:[root@bogon~]# mount /dev/testvg/testlv /users


2:新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制、etc/pam.d目录至自己的家目录

    创建用户: [root@bogon users]# useradd -d /users/archlinux archlinux

       复制:[archlinux@bogon ~]$ cp -r /etc/pam.d/ ./


3:扩展testlv至7G,要求archlinux用户的文件不能丢失 

     扩展物理边界:[root@bogon ~]# lvextend -L 7G /dev/testvg/testlv 

       扩展逻辑边界:resize2fs /dev/testvf/testlv

       注意:resize2fs 至合适etx文件系统,如果是xfs文件系统需要使用 xfs_growfs /dev/VG_NAME/LV_NAME

    查看用户是否丢失资料:

4:收缩testlv至3G,要求archlinux用户的文件不能丢失

         首先卸载:umount /dev/testvg/testlv

        强制文件检测:e2fsck -f /dev/testvg/testlv

        缩减逻辑边界: resize2fs /dev/testvg/testlv 3G

        缩减物理边界:lvreduce -L 3G /dev/testvg/testlv

        重新挂载:mount /dev/testvg/testlv /users/

        查看文件:


5.对testlv创建快照,并尝试基于快照备份数据,验证快照的功能

        创建快照:lvcreate -s -p r -L 1G -n testlv_snap /dev/testvg/testlv

 挂载,查看是否成功:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容