Linux磁盘管理

磁盘整列(raid)

RAID分为软件RAID和硬件RAID,软件RAID依赖于操作系统以及RAID软件,Linux下通常使用mdadm包;硬件RAID主要通过RAID卡来实现,它提供了专用的RAID控制器,目前大多数都采用硬件RAID。

RAID不同级别下,其架构与特性也所不同,主要包含以下级别:

  • RAID0:条带化
  • RAID1:镜像
  • RAID5:单磁盘分布式奇偶校验
  • RAID6:双磁盘分布式奇偶校验
  • RAID10:镜像+条带化

RAID0

raid0

RAID0将数据分布在不同的磁盘上,以获取最大的读写性能,但也因此损失了数据的安全性,当其中一块磁盘发生故障无法恢复,那我们将丢失部分数据。仅用于追求性能而不考虑数据安全的场景之下。

RAID1

raid1

RAID1通过镜像复制的方式复制出一个数据副本,以此来提升数据的安全性,当一份数据损坏后,可以利用数据副本来恢复。但我们也能发现,RAID1之后的容量仅有总容量的50%,并且写入速度也有所下降。

RAID5

raid5

RAID5以分布式奇偶校验的方式工作,其至少需要三个disk,当一个节点发生故障进行更换时,它通过其它正常的驱动器上的校验信息进行数据重建,确保数据不会丢失,如果故障数量超过1个,将也会导致数据丢失。常用于生产WEB服务器,文件服务器等场景。

RAID6

raid6

RAID6相对于RAID5采用了两个分布式奇偶校验,其至少需要4个disk,如果有2个disk发生故障也不影响数据重建。但成本较高,其中2个disk用于保存校验信息,并且如果不适用硬件RAID驱动器,性能将比较差

RAID10

raid1+0

raid0+1

RAID10也就是RAID0和RAID1嵌套组成的,RAID1+0即先做镜像再做条带化,RAID0+1则是先做条带再做镜像,RAID10有着良好的性能,但其可用空间占总容量的50%,是性能与安全性权衡后的方案,常用于数据库存储环境。

更多关于RAID的信息,请参考在 Linux 下使用 RAID

磁盘管理

磁盘分区

磁盘分区能够将磁盘划分成多个分区,不同的分区可以作用于不同的用途,例如系统盘,数据盘,日志盘等。

查看磁盘分区

[root@t-luhx01-v-szzb ~]# fdisk -l

Disk /dev/sda: 42.9 GB, 42949672960 bytes, 83886080 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: 0x000c4e35

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      821247      409600   83  Linux
/dev/sda2          821248    83886079    41532416   8e  Linux LVM

Disk /dev/sdb: 107.4 GB, 107374182400 bytes, 209715200 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: 0xb42fafac

   Device Boot      Start         End      Blocks   Id  System

其中Device为磁盘设备名;boot表示用于引导系统进行启动;start和end表示分区开始扇区和结束扇区,每个扇区大小为512B;blocks为扇区数量;ID表示磁盘编号;system表示系统分区信息

对磁盘进行分区

[root@t-luhx01-v-szzb ~]# fdisk /dev/sdb
Command (m for help):

其中最主要的一些操作选项如下:

选项 描述
n 添加新分区,选择主分区或扩展分区并指定起始扇区和结束扇区
d 删除一个分区
p 打印当前分区
m 查看帮助
q 不保存退出
w 保存退出

当我们添加新分区后,可以执行partprobe命令使内核重载分区信息

格式化磁盘

创建分区后,我们并不能直接对磁盘进行数据存储,需要先进行格式化并指定文件系统格式,常用的文件系统有ext4,xfs等。格式化命令如下:

[root@t-luhx01-v-szzb ~]# mkfs.ext4 /dev/sdb1

磁盘挂载

磁盘格式化完成之后,我们还需要将磁盘挂载到某个具体的目录,才能对其进行读写。

创建目录

[root@t-luhx01-v-szzb ~]# mkdir /service

挂载分区

[root@t-luhx01-v-szzb ~]# mount /dev/sdb1 /service

查看挂载信息

[root@t-luhx01-v-szzb ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/vg01-root   35G   28G  5.4G  84% /
devtmpfs               3.9G     0  3.9G   0% /dev
tmpfs                  3.9G     0  3.9G   0% /dev/shm
tmpfs                  3.9G  418M  3.5G  11% /run
tmpfs                  3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda1              380M  111M  245M  32% /boot
/dev/mapper/dbvg-dblv   99G   50G   44G  53% /service
tmpfs                  781M     0  781M   0% /run/user/0

到这里就结束了么?并没有,这只是临时挂载,当系统重新启动后就失效了。我们还需要将挂载信息写入/etc/fstab中永久挂载

[root@t-luhx01-v-szzb ~]# blkid
/dev/sda1: UUID="cb450161-dbd3-49e7-9c06-2c5a482a5329" TYPE="ext4" 
/dev/sda2: UUID="Fjcal0-Yu1z-ks7S-BytS-GHAU-IUv2-iVu5RG" TYPE="LVM2_member" 
/dev/sdb1: UUID="hqFtae-7zkq-9uZr-aOBJ-kh27-BDeX-cjjV3t" TYPE="LVM2_member" 
[root@t-luhx01-v-szzb ~]# vi /etc/fstab
UUID="hqFtae-7zkq-9uZr-aOBJ-kh27-BDeX-cjjV3t"   /service   ext4  defaults 0 0

LVM逻辑卷

LVM逻辑卷是对Linux磁盘分区进行管理的一种机制,它将多个分区在逻辑上集合在一起,能够更简单有效的管理磁盘分区空间

创建LVM逻辑卷

创建磁盘分区

[root@t-luhx01-v-szzb ~]# fdisk /dev/sdb
[root@t-luhx01-v-szzb ~]# fdisk -l
Disk /dev/sdb: 107.4 GB, 107374182400 bytes, 209715200 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: 0xb42fafac

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   209715199   104856576   8e  Linux LVM

创建物理卷(PV)

[root@t-luhx01-v-szzb ~]# pvcreate /dev/sdb1
[root@t-luhx01-v-szzb ~]# pvdisplay  
  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               dbvg
  PV Size               <100.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              25599
  Free PE               0
  Allocated PE          25599
  PV UUID               hqFtae-7zkq-9uZr-aOBJ-kh27-BDeX-cjjV3t

创建卷组(VG)

[root@t-luhx01-v-szzb ~]# vgcreate dbvg /dev/sdb1
[root@t-luhx01-v-szzb ~]# vgs
  VG   #PV #LV #SN Attr   VSize    VFree  
  dbvg   1   1   0 wz--n- <100.00g      0 
  vg01   1   2   0 wz--n-  <39.61g 532.00m
[root@t-luhx01-v-szzb ~]# vgdisplay
  --- Volume group ---
  VG Name               dbvg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <100.00 GiB
  PE Size               4.00 MiB
  Total PE              25599
  Alloc PE / Size       25599 / <100.00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               USwHx4-2obH-FYH7-9fp2-3b26-6d7B-8jP0Oh

创建逻辑卷(LV)

[root@t-luhx01-v-szzb ~]# lvcreate  100%FREE -n dblv dbvg
[root@t-luhx01-v-szzb ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/dbvg/dblv
  LV Name                dblv
  VG Name                dbvg
  LV UUID                67gTkY-Xp6O-Qa08-ASeQ-IvlK-rhrs-3wSbzt
  LV Write Access        read/write
  LV Creation host, time t-luhx01-v-szzb, 2019-09-06 10:18:20 +0800
  LV Status              available
  # open                 1
  LV Size                <100.00 GiB
  Current LE             25599
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

格式化lv

[root@t-luhx01-v-szzb ~]# mkfs.ext4 /dev/dbvg/dblv

挂载lv

[root@t-luhx01-v-szzb ~]# mkdir /service
[root@t-luhx01-v-szzb ~]# mount /dev/dbvg/dblv /service

不要忘记写入/etc/fstab里面

逻辑卷在线扩容

创建pv

[root@t-luhx01-v-szzb ~]# pvcreate /dev/sdc

添加到VG中

[root@t-luhx01-v-szzb ~]# vgextend dbvg /dev/sdc

扩展LV

[root@t-luhx01-v-szzb ~]# lvextend -l +100%FREE -n /dev/dbvg/dblv

扩容文件系统

[root@t-luhx01-v-szzb ~]# resize2fs /dev/dbvg/dblv

删除LVM逻辑卷

取消挂载,包括/etc/fstab中的挂载信息

[root@t-luhx01-v-szzb ~]# umount /service

删除LV

[root@t-luhx01-v-szzb ~]# lvremove /dev/dbvg/dblv

删除VG

[root@t-luhx01-v-szzb ~]# vgremove dbvg

删除PV

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

推荐阅读更多精彩内容

  • 夜莺2517阅读 127,718评论 1 9
  • 版本:ios 1.2.1 亮点: 1.app角标可以实时更新天气温度或选择空气质量,建议处女座就不要选了,不然老想...
    我就是沉沉阅读 6,887评论 1 6
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,534评论 28 53
  • 兔子虽然是枚小硕 但学校的硕士四人寝不够 就被分到了博士楼里 两人一间 在学校的最西边 靠山 兔子的室友身体不好 ...
    待业的兔子阅读 2,597评论 2 9