文件系统挂载, ext 文件系统及 read 命令, Linux RAID,lvm 应用

您所在的位置:网站首页 美国911事件 文件系统挂载, ext 文件系统及 read 命令, Linux RAID,lvm 应用

文件系统挂载, ext 文件系统及 read 命令, Linux RAID,lvm 应用

#文件系统挂载, ext 文件系统及 read 命令, Linux RAID,lvm 应用| 来源: 网络整理| 查看: 265

文件系统挂载, ext 文件系统及 read 命令, Linux RAID,lvm 应用

文件系统管理:

将额外文件系统与根文件系统某现存的目录建立起关系, 进而使得此目录作为其他文件访问入口的行为称之为挂载

解除此关联关系的过程称之为卸载

把设备关联至挂载点: mount_point

卸载时: 可使用设备, 也可以使用挂载点

umount /dev/deviceumount mount_point

注意: 挂载点下原有文件在挂载 / 卸载完成后会被临时隐藏

挂载方法: mount device mount_point

mount 通过查看 / etc/mtab 文件显示当前系统已挂载的所有设备

[root@localhost ~]# mount/dev/mapper/VolGroup-lv_root on / type ext4 (rw)proc on /proc type proc (rw)sysfs on /sys type sysfs (rw)devpts on /dev/pts type devpts (rw,gid=5,mode=620)tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")/dev/sda1 on /boot type ext4 (rw)none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)[root@localhost ~]# cat /etc/mtab/dev/mapper/VolGroup-lv_root / ext4 rw 0 0

proc /proc proc rw 0 0

sysfs /sys sysfs rw 0 0

devpts /dev/pts devpts rw,gid=5,mode=620 0 0tmpfs /dev/shm tmpfs rw,rootcontext="system_u:object_r:tmpfs_t:s0" 0 0/dev/sda1 /boot ext4 rw 0 0none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0mount [-fnrsvw] [-t vfstype] [-o options] device dir

device 指明要挂载的设备

1, 设备文件, 例如 /dev/sda5

[root@localhost ~]# mount /dev/sdb1 /mydata1

2, 卷标 -L 'LABEL' 例如 -L 'mydata'

[root@localhost ~]# mount -L 'mydata1' /mydata1

3,UUID -U 'UUID' 例如 -U '1cd75ebd-c3d8-4a0b-941b-43d520d4d71b'

[root@localhost ~]# mount -U '1cd75ebd-c3d8-4a0b-941b-43d520d4d71b' /mydata1

4, 伪文件系统 proc sysfs devtmpfs configfs

dir 挂载点

事先存在, 建议使用空目录

进程正在使用中的设备无法被卸载

[root@localhost mydata1]# pwd/mydata1[root@localhost mydata1]# umount /mydata1

umount: /mydata1: device is busy.

(In some cases useful info about processes that use

the device is found by lsof(8) or fuser(1))

常用选项:

-t vfstype 指定要挂载的设备上的文件系统类型

[root@localhost ~]# mount -t ext4 /dev/sdb1 /mydata1

-r readonly 只读挂载

[root@localhost ~]# mount -r /dev/sdb1 /mydata1

-w read and write 读写挂载

[root@localhost ~]# mount -w /dev/sdb1 /mydata1

-a 自动挂载所有支持自动挂载的设备 (定义在 / etc/fstab 文件中, 且挂载选项中有 "自动挂载" 功能)

[root@localhost ~]# mount -a /dev/sdb1 /mydata1[root@localhost ~]# cat /etc/mtab | grep "mydata1"/dev/sdb1 /mydata1 ext4 rw 0 0[root@localhost ~]# cat /proc/mounts | grep "mydata1"/dev/sdb1 /mydata1 ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0[root@localhost ~]# cat /etc/fstab | grep "mydata1"

-n 不更新 / etc/mtab

[root@localhost ~]# mount -n /dev/sdb1 /mydata1[root@localhost ~]# cat /etc/mtab | grep "mydata1"

-L 'LABEL' 以卷标指定挂载设备

[root@localhost ~]# mount -L 'mydata1' /mydata1

-U 'UUID' 以 uuid 指定要挂载的设备

[root@localhost ~]# mount -U '1cd75ebd-c3d8-4a0b-941b-43d520d4d71b' /mydata1

-B --bind 绑定目录到另一个目录上, 在挂载点目录上操作文件, 该操作会同步到被被绑定的目录上

[root@localhost ~]# mount /dev/sdb1 /mydata1[root@localhost ~]# mount -B /mydata11 /mydata1[root@localhost ~]# mkdir /mydata1/abc[root@localhost ~]# touch /mydata1/123[root@localhost ~]# ll /mydata1 /mydata11/mydata1:total 4-rw-r--r--. 1 root root 0 May 21 11:21 123drwxr-xr-x. 2 root root 4096 May 21 11:20 abc/mydata11:total 4-rw-r--r--. 1 root root 0 May 21 11:21 123drwxr-xr-x. 2 root root 4096 May 21 11:20 abc

注意: 查看内核追踪到的已挂载的所有设备 cat /proc/mounts

[root@localhost ~]# cat /proc/mounts

rootfs / rootfs rw 0 0

proc /proc proc rw,relatime 0 0

sysfs /sys sysfs rw,seclabel,relatime 0 0

devtmpfs /dev devtmpfs rw,seclabel,relatime,size=233488k,nr_inodes=58372,mode=755 0 0

devpts /dev/pts devpts rw,seclabel,relatime,gid=5,mode=620,ptmxmode=000 0 0

tmpfs /dev/shm tmpfs rw,seclabel,relatime 0 0

/dev/mapper/VolGroup-lv_root / ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0

none /selinux selinuxfs rw,relatime 0 0

devtmpfs /dev devtmpfs rw,seclabel,relatime,size=233488k,nr_inodes=58372,mode=755 0 0

/proc/bus/usb /proc/bus/usb usbfs rw,relatime 0 0/dev/sda1 /boot ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0

none /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0

/dev/sdb1 /mydata1 ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0/dev/mapper/VolGroup-lv_root /mydata1 ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0-o options (挂载文件系统的选项)

async 异步模式

[root@localhost ~]# mount -o async /dev/sdb1 /mydata1

sync 同步模式

[root@localhost ~]# mount -o sync /dev/sdb1 /mydata1

atime/noatime 是否更新访问时间戳, 包含目录和文件

[root@localhost ~]# mount -o atime /dev/sdb1 /mydata1[root@localhost ~]# mount -o noatime /dev/sdb1 /mydata1

diratime/nodiratime 是否更新访问时间戳, 目录的访问时间戳

[root@localhost ~]# mount -o diratime /dev/sdb1 /mydata1[root@localhost ~]# mount -o nodiratime /dev/sdb1 /mydata1

auto/noauto 是否支持自动挂载

[root@localhost ~]# mount -o auto /dev/sdb1 /mydata1[root@localhost ~]# mount -o noauto /dev/sdb1 /mydata1

exec/noexec 是否支持将文件系统上应用程序运行为进程

[root@localhost ~]# mount -o exec /dev/sdb1 /mydata1[root@localhost ~]# mount -o noexec /dev/sdb1 /mydata1

dev/nodev 是否支持在此文件系统上使用设备文件

[root@localhost ~]# mount -o dev /dev/sdb1 /mydata1[root@localhost ~]# mount -o nodev /dev/sdb1 /mydata1

suid/nosuid 是否支持在此文件系统上设置 suid 权限

[root@localhost ~]# mount -o suid /dev/sdb1 /mydata1[root@localhost ~]# mount -o nosuid /dev/sdb1 /mydata1

remount 重新挂载

[root@localhost ~]# mount /dev/sdb1 /mydata1[root@localhost ~]# mount -o remount /dev/sdb1 /mydata1

ro 只读挂载

[root@localhost ~]# mount -o ro /dev/sdb1 /mydata1

rw 读写挂载

[root@localhost ~]# mount -o rw /dev/sdb1 /mydata1

user/nouser 是否允许普通用户挂载此设备

[root@localhost ~]# mount -o user /dev/sdb1 /mydata1[root@localhost ~]# mount -o nouser /dev/sdb1 /mydata1

acl 启用此文件系统的 acl 功能, 访问控制列表

[root@localhost ~]# mount -o acl /dev/sdb1 /mydata1

注意 上述选项可多个同时使用, 彼此使用逗号分隔

默认挂载选项 defaults(包含 rw suid dev exec auto nouser sync)

[root@localhost ~]# mount -o defaults /dev/sdb1 /mydata1[root@localhost ~]# mount -o rw,suid,dev,exec,auto,nouser,sync /dev/sdb1 /mydata1

卸载命令

umount deviceumount mount_point[root@localhost ~]# umount /dev/sdb1[root@localhost ~]# umount /mydata1

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

fuser -v mount_point[root@localhost mydata1]# fuser -v /mydata1 USER PID ACCESS COMMAND

/mydata1: root 1132 ..c.. bash

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

fuser -km mount_point

挂载交换分区

启用 swapon

swapon [option]... [device]

-a 激活所有的交换分区

-p priority 指定优先级

[root@localhost ~]# swapon -a[root@localhost ~]# swapon -p 1 /dev/sdb1

禁用 swapoff [option]... [device]

[root@localhost ~]# swapoff /dev/sdb1

内存空间使用状态

free [option]

-m 以 mb 为单位

-g 以 gb 为单位 不满 1G 则显示为 0

[root@localhost ~]# free -m total used free shared buffers cached Mem: 474 139 335 0 9 38 -/+ buffers/cache: 90 383 Swap: 959 0 959 [root@localhost ~]# free -g total used free shared buffers cached Mem: 0 0 0 0 0 0 -/+ buffers/cache: 0 0 Swap: 0 0 0

文件系统空间占用等信息的查看工具

df [option]... [device]

-h human-readable 以人类易读的格式输出

-i inode instead of blocks 输出 inode 的使用情况

-P 以 posix 兼容的格式输出

[root@localhost ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root 19G 765M 17G 5% / tmpfs 238M 0 238M 0% /dev/shm

/dev/sda1 485M 33M 427M 8% /boot

[root@localhost ~]# df -h /dev/sda1

Filesystem Size Used Avail Use% Mounted on

/dev/sda1 485M 33M 427M 8% /boot

[root@localhost ~]# df -i

Filesystem Inodes IUsed IFree IUse% Mounted on

/dev/mapper/VolGroup-lv_root 1218224 18620 1199604 2% / tmpfs 60785 1 60784 1% /dev/shm /dev/sda1 128016 38 127978 1% /boot [root@localhost ~]# df -P Filesystem 1024-blocks Used Available Capacity Mounted on /dev/mapper/VolGroup-lv_root 19166504 783284 17409604 5% / tmpfs 243140 0 243140 0% /dev/shm /dev/sda1 495844 33451 436793 8% /boot

查看某目录总体空间占用状态

dudu [option]... dir

-h human-readable 以人类易读的格式输出

-s summary 输出总体情况

[root@localhost ~]# du -h /boot13K /boot/lost+found276K /boot/grub251K /boot/efi/EFI/redhat253K /boot/efi/EFI255K /boot/efi23M /boot[root@localhost ~]# du -sh /boot23M /boot

文件挂载的配置文件 /etc/fstab

每一行定义一个要挂载的文件系统

/etc/fstab 定义每个字段的意义

要挂载的设备或伪文件系统 挂载点 文件系统类型 挂载选项 转储频率 自检次序

要挂载的设备或伪文件系统

设备文件 label(label='') uuid(uuid='') 伪文件系统 (proc sysfs)

挂载点

事先存在的目录, 最好为空目录

文件系统

ext2,ext3,ext4,btrfs,xfs

挂载选项

defaults(nouser sync suid rw dev exec auto)

转储频率 (备份频率)

0 不做备份

1 每天转储

2 每隔一天转储

自检次序

0 不自检

1 首先自检 一般只有 rootfs 才用 1

...

文件系统上的其他概念

inode: index node 索引节点

地址指针 (直接指针 间接指针 三级指针)

inode bitmap (索引节点位图) 对位标识每个 inode 空闲与否的状态信息

链接文件

硬链接

不能够对目录进行

不能够跨分区进行

指向同一个 inode 的多个不同路径, 创建文件的硬链接即为 inode 创建新的引用路径, 因此会增加其引用计数

符号链接 (软链接)

可以对目录进行

可以跨分区进行

指向的是另一个文件的路径, 其大小为指向的路径字符串的长度, 不增加或减少目标文件 inode 的引用计数

ln [-sv] src dest 创建硬链接, 默认不用带选项

-s symboic link-v verbose[root@localhost ~]# ln -v fstab fstab.hl`fstab.hl'=> `fstab'[root@localhost ~]# ll fstab*-rw-r--r--. 2 root root 779 May 21 15:48 fstab-rw-r--r--. 2 root root 779 May 21 15:48 fstab.hl[root@localhost ~]# ln -sv fstab fstab.sl`fstab.sl'-> `fstab'[root@localhost ~]# ll fstab*-rw-r--r--. 2 root root 779 May 21 15:48 fstablrwxrwxrwx. 1 root root 5 May 21 15:49 fstab.sl -> fstab

练习:

1, 创建一个 20G 的文件系统, 块大小为 2048, 文件系统为 ext4, 卷标为 test, 要求此分区开机后自动挂载至 / testing 目录, 且默认有 acl 挂载选项

mkfs -b 2048 -t ext4 -L 'test' /dev/sdb1mount -o acl /dev/sdb1 /testing[root@localhost ~]# grep "testing" /etc/fstab/dev/sdb1 /testing ext4 acl 0 0

2, 创建一个 5G 的文件系统, 卷标为 huge, 要求此分区开机自动挂载至 / mogdata 目录, 文件系统类型为 ext3

mkfs -L 'huge' -t ext3 /dev/sdb1mount /dev/sdb1 /mogdata[root@localhost ~]# grep "mogdata" /etc/fstab/dev/sdb1 /mogdata ext3 defaults 0 0

3, 写一个脚本, 完成如下功能

列出当前系统识别到的所有磁盘设备

如果磁盘数量为 1, 则显示其空间使用信息, 否则, 则显示最后一个磁盘上的空间使用信息

[root@localhost ~]# cat /tmp/disk.sh#!/bin/bashfdisk -ldisknum=fdisk -l | grep "^Disk /dev" | wc -lif [ $disknum -eq 1 ];thendiskfile1=fdisk -l | grep "^Disk /dev" | cut -d'' -f2 | grep -o"^/dev\(/[[:alpha:]]\).*\>"df -h $diskfile1elsefdisk -l | grep "^Disk /dev" | cut -d'' -f2 | grep -o"^/dev(/[[:alpha:]]).*\>"> /tmp/disk.txtdiskfile2=tail -1 /tmp/disk.txtdf -h $diskfile2fi

bash 脚本编程之用户交互

read [option]... [name...] 用作传递变量

-p 'prompt' 提示信息

-t timeout 超时时间

[root@localhost ~]# read name tom [root@localhost ~]# echo $name tom [root@localhost ~]# read a b c 1 2 3 [root@localhost ~]# echo $a $b $c 1 2 3 [root@localhost ~]# read a b c

how are you?

[root@localhost ~]# echo $a how [root@localhost ~]# echo $b are [root@localhost ~]# echo $c you?

没有给出足够的字段, 则靠后的变量为空

[root@localhost ~]# read a b c how are [root@localhost ~]# echo $a how [root@localhost ~]# echo $b are [root@localhost ~]# echo $c

如果字段数大于变量数, 则多余的字段赋值给最后一个变量

[root@localhost ~]# read a b c

how old are you?

[root@localhost ~]# echo $a how [root@localhost ~]# echo $b old [root@localhost ~]# echo $c are you?

-p 选项为输出提示信息

[root@localhost ~]# read -p "enter a username:" username enter a username:tom [root@localhost ~]# echo $username tom

-t 选项为提示超时时间, 在超时时间内没有输出, 变量则为空

[root@localhost ~]# read -t 5 -p "enter a username:" username enter a username:[root@localhost ~]# [root@localhost ~]# echo $username [root@localhost ~]# read -t 5 -p "enter a username:" username enter a username:allen [root@localhost ~]# echo $username allen bash -n /path/to/some_script

检测脚本中的语法错误

bash -x /path/to/some_script

调试执行 逐步执行

脚本示例

#!/bin/bash#version#author#descriptionread -p "enter a disk special file:" diskfile[ -z $diskfile ] && echo "fool" && exit 1if fdisk -l | grep "^Disk $diskfile" &> /dev/null;thenfdisk -l $diskfileelseecho "wrong disk special file."exit 2firaid

redundant arrays of indxpensive disks 廉价冗余磁盘阵列

redundant arrays of independent disks 独立冗余磁盘阵列

作用: 提高 IO 能力 (磁盘并行读写), 提高耐用性 (磁盘冗余)

级别: 多块磁盘组织在一起的工作方式有所不同

raid 实现的方式

外接式磁盘阵列, 通过扩展卡提供适配能力

内接式 raid 主板集成 raid 控制器

software raid 软件方式实现

raid 级别表示磁盘的不同组合方式, 用数字表示, 如下

raid 0 (条带卷 strip)raid 1 (镜像卷 mirror)raid 2...raid 5raid 6raid 10raid 01

以下是各 raid 级别的特性

raid 0

连续以位或字节为单位分割数据, 并行读 / 写于多个磁盘上, 因此具有很高的数据传输率, 但它没有数据冗余, 因此并不能算是真正的 raid 结构. raid 0 知识单纯第提高性能, 并没有为数据的可靠性提供保证, 而且其中的一次盘失效将影响到所有数据. 因此, raid 0 不能应用于数据安全性要求高的场合.

读写性能提升

可用空间 n*min(s1,s2...) 取决于容量最小的磁盘, 还有磁盘数量

无容错能力

最少磁盘数 2,2+ (2 块及 2 块以上)

raid 1

它是通过磁盘数据镜像实现数据冗余, 在成对的对立磁盘上产生互为备份的数据. 当原始数据繁忙时, 可直接从镜像拷贝中读取数据, 因此 raid 1 可以提高读取性能. raid 1 是磁盘阵列中单位成本最高的, 但提供了很高的数据安全性和可用性. 当一个磁盘失效时, 系统可以自动切换到镜像磁盘上读写, 而不需要重组失效的数据.

读性能提升, 写性能略有下降

可用空间 1*min(s1,s2...) 取决于容量最小的磁盘

有冗余能力

最少磁盘数 2,2+ (2 块及 2 块以上)

raid 4

raid 4 同样也将数据条带化并分布于不同的磁盘上, 但条带单位为块或记录. raid 4 使用一块磁盘作为奇偶校验盘, 每次写操作都需要访问奇偶盘, 这时奇偶校验盘会成为写操作的瓶颈, 因此 raid 4 在商业环境中也很少使用.

两块数据盘 一块校验盘 (基于或运算)

至少磁盘数 3,3+(3 块及 3 块以上)

raid 5

raid 5 不单独指定的奇偶盘, 而是在所有磁盘上交叉地存取数据及奇偶校验信息. 在 raid 5 上, 读 / 写指针可同时对阵列设备进行操作, 提供了更高的数据流量. raid 5 更适合于小数据和随机读写的数据.

读写性能提升

可用空间 (n-1)*min(s1,s2,...) 取决于容量最小的磁盘, 还有磁盘的数量

有容错能力, 在组合 3 块硬盘的情况下, 仅可坏 1 块磁盘

最少磁盘数 3,3+ (3 块及 3 块以上)

raid 6

与 raid 5 相比, raid 6 增加了第二个独立的奇偶校验信息块. 两个独立的奇偶系统使用不同的算法, 数据的的可靠性非常高, 即使两块磁盘同时失效也不会影响数据的使用. 但 raid 6 需要分配给奇偶校验信息更大的磁盘空间.

读写性能提升

可用空间 (n-2)*min(s1,s2,...) 取决于容量最小的磁盘, 还有磁盘的数量

有容错能力, 在组合 4 块硬盘的情况下, 仅可坏 2 块磁盘

最小磁盘数 4,4+ (4 块及 4 块以上)

混合类型

raid 10

raid 10 其实结构非常简单, 首先创建 2 个独立的 raid 1, 然后将这两个独立的 raid 1 组成一个 raid 0, 当往这个逻辑 raid 0 中写数据时, 数据被有序的写入两个 raid 1 中. 磁盘 1 和磁盘 2 组成一个 raid 1, 磁盘 3 和磁盘 4 又组成另外一个 raid 1, 这两个 raid 1 组成了一个新的 raid 0. 如写在硬盘 1 上的数据 1,3,5,7, 写在硬盘 2 中则为数据 1,3,5,7, 硬盘 3 中的数据为 0,2,4,6, 硬盘 4 中的数据则为 0,2,4,6, 因此数据在这四个硬盘上组合成 raid 10, 且具有 raid 0 和 raid 1 两者的特性.

raid 10 以 raid 0 为执行阵列, 以 raid 1 为数据保护阵列, 它具有与 raid 1 一样的容错能力, 用于容错处理的系统开销与单独的镜像操作基本一样, 由于使用 raid 0 作为执行等级, 因此具有较高的 I/O 宽带, 对于那些想在 raid 1 基础上大幅提高性能的用户, 它是一个完美的解决方案. raid 10 适用于数据库存储服务器等需要高性能, 高容错但对容量要求不大的场合.

读写性能提升

可用空间 n*min(s1,s2,...)/2 取决于容量最小的磁盘, 还有磁盘数量

有容错能力, 每组镜像最多只能坏 1 块

最少磁盘数 4,4+ (4 块及 4 块以上 必须是偶数块)

raid 01,raid 50 raid 7

JBOD just a bunch of disks

功能: 将多块磁盘的空间合并一个大的连续空间使用

常用级别: raid 0 raid 1 raid 5 raid 10 raid 50 jbod

实现方式:

硬件实现方式

软件实现方式

centos 6 的软件 raid 的实现

结合内核中的 md(multi devices) 多磁盘 多设备

mdadm 模式化的工具

命令的语法格式 mdadm [mode] [options]

支持的 raid 级别 LINEAR raid 0 raid 1 raid 4 raid 5 raid 6 raid 10

模式:

创建 -C

装配 -A

监控 -F

管理 -f -r -a

/dev/md# 任意块设备 任意磁盘分区

-C 创建模式

-n # 使用 #个块设备来创建此 raid-l # 指明要创建的 raid 级别

-a {yes|no} 自动创建目标 raid 设备的设备文件

-c chunk_size 指明块大小

-x # 指明空闲盘的个数[root@localhost ~]# mdadm -C /dev/md0 -n 3 -l 5 -a yes -c 512 -x 1 /dev/sdb{1,2,3,5}mdadm: Defaulting to version 1.2 metadata

mdadm: array /dev/md0 started.

例如 创建一个 10G 可用的 raid 5

-D 显示 raid 的详细信息

mdadm -D /dev/md#[root@localhost ~]# mdadm -D /dev/md0/dev/md0: Version : 1.2

Creation Time : Mon May 28 15:54:18 2018

Raid Level : raid5

Array Size : 10401792 (9.92 GiB 10.65 GB) Used Dev Size : 5200896 (4.96 GiB 5.33 GB)

Raid Devices : 3

Total Devices : 4

Persistence : Superblock is persistent

Update Time : Mon May 28 15:55:13 2018 State : clean Active Devices : 3

Working Devices : 4

Failed Devices : 0

Spare Devices : 1

Layout : left-symmetric Chunk Size : 512K Name : localhost.localdomain:0 (local to host localhost.localdomain)

UUID : f5ecea12:b78a3317:92082083:095814f7

Events : 18

Number Major Minor RaidDevice State

0 8 17 0 active sync /dev/sdb1 1 8 18 1 active sync /dev/sdb2 4 8 19 2 active sync /dev/sdb3 3 8 21 - spare /dev/sdb5

管理模式:

-f 标记指定磁盘为损坏

[root@localhost ~]# mdadm /dev/md0 -f /dev/sdb5mdadm: set /dev/sdb5 faulty in /dev/md0

-r 移除磁盘

[root@localhost ~]# mdadm /dev/md0 -r /dev/sdb5mdadm: hot removed /dev/sdb5 from /dev/md0

-a 添加磁盘

[root@localhost ~]# mdadm /dev/md0 -a /dev/sdb5mdadm: added /dev/sdb5

观察 md 的状态

cat /proc/mdstat[root@localhost ~]# cat /proc/mdstat

Personalities : [raid6] [raid5] [raid4]

md0 : active raid5 sdb53 sdb3[4] sdb2[1] sdb1[0]

10401792 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

unused devices:

watch 命令:

-n# 刷新间隔 单位是秒watch -n# 'command'[root@localhost ~]# watch -n1 'cat /proc/mdstat'

练习 1: 创建一个可用空间为 10G 的 raid 0 设备, 要求其 chunk 大小为 128k, 文件系统为 ext4, 有一个空闲盘, 开机可自动挂载至 / backup 目录

[root@localhost ~]# mdadm -C /dev/md0 -n 2 -l 0 -a yes -c 128 /dev/sdb{1,2}mdadm: Defaulting to version 1.2 metadata

mdadm: array /dev/md0 started.

[root@localhost ~]# mkfs -t ext4 /dev/md0[root@localhost ~]# mount /dev/md0 /backup[root@localhost ~]# grep "backup" /etc/fstab

UUID=0a7d0347-1b81-4bac-af2b-47a4b9748037 /backup ext4 defaults 0 0

练习 2: 创建一个可用空间为 10G 的 raid 10 设备, 要求其 chunk 大小为 256k, 文件系统为 ext4, 开机可自动挂载至 / mydata 目录

[root@localhost ~]# mdadm -C /dev/md0 -n 4 -l 10 -a yes -c 256 /dev/sdb{1,2,3,5}mdadm: Defaulting to version 1.2 metadata

mdadm: array /dev/md0 started.

[root@localhost ~]# mkfs -t ext4 /dev/md0[root@localhost ~]# mount /dev/md0 /mydata[root@localhost ~]# grep "mydata" /etc/fstab

UUID=17c2420f-9ea7-453c-bc7d-b0b87b363b18 /mydata ext4 defaults 0 0

lvm2

lvm logical volume manager version 2 逻辑卷管理器

内核模块 dm device mapper 将一个或多个底层块设备组织成一个逻辑设备的模块 (/dev/dm-#)

/dev/mapper/vg_name-lv_name

/dev/mapper/myvg-mylv



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3