Linux运维 第二阶段 (七)高级文件系统管理

简介:

一、相关概念:

132bit操作系统(/lib);64bit操作系统(lib64)向后兼容32bit

2controller控制器(集成的);adapter适配器(独立的)

3、协议:双方都遵循的传输信号的法则

4MBMbyte)与MbMbit):Mb/8=MB1byte=8bit

5IDE(integrated driveelectronic)并行,互相干扰133MB/s

SATA(serial advanced technology attachment)串行,300MB/s,600MB/s,6GB/s

USB3.0(universal serial bus)串行,480MB/s

SCSI(small computer system interface)并行,320MB/s,640MB/s

RAID(redundant arrays ofinexpensive(independent) disks)独立冗余磁盘阵列:university of california berkely

LVM(logical volume management)逻辑卷管理:动态扩展磁盘边界,支持镜像功能,建议LVM建立在RAID10基础上

6RAID level:磁盘的组织方式不同,没有上下之分

7RAID0条带化:至少2块,读写性能提升,无冗余能力,空间利用率100%

RAID1镜像:至少2块,读性能提升,写性能下降,有冗余能力,空间利用率50%

RAID2RAID3RAID4:很少用,功能类似,例如RAID4,至少4块盘,仅一块盘有校验数据,有冗余能力,空间利用率3/4,不允许同时坏2块盘;

RAID5:至少3块,每块盘循环着都有校验数据,读写性能提升,有冗余能力,空间利用率(n-1)/n

RAID01RAID10:至少4块,两组中相同编号的两块盘不能同时挂掉,浪费空间1/2,有冗余能力;

RAID50:至少6块盘,读写性能提升,有冗余能力,空间利用率(n-2)/n

wKiom1X_kO-wzaFCAAEovV9nHZ4774.jpg

wKioL1X_ky3BgOI4AAEuNPfoDYw564.jpg

8、硬件RAID(生产环境下使用),软件RAID(实验用,模拟、逻辑RAID/dev/md[0-9],只标示RAID设备不表示RAID级别,multidevice

9MDmulti devicemeta device,通常用于RAID

10DMdevicemapper)能提供多个物理设备映射为逻辑设备,比MD强大,能用于RAIDLVM2,但通常用于LVM

11RAID10RAID5等磁盘冗余阵列,是解决硬件故障时的数据恢复,但不能阻止人为操作,如#rm  -rf   /*

12LVM组成部分及相关命令:

pv(physical volume)pvcreate,pvscan,pvdisplay(pvs),pvremove

vg(volume group)vgcreate,vgdiskplay(vgs),vgscan,vgextend,vgreduce,vgremove

lv(logcial volume)lvcreate,lvdisplay(lvs),lvextend,lvreduce,lvremove

pe(physical extents物理范围)

le(logical extents逻辑范围)

wKiom1X_kQ-z2VAVAADlcyIi0h4611.jpg

 

 

二、RAID操作:

#fdisk /dev/sdb(创建四个1G分区,注意分区格式为fd(linux raid auto)

#partx /dev/sdb

#cat /proc/partitions

#mdadm  [mode]  <raiddevice>  [options]  <component-devices>(模式化的命令,用户空间管理工具,真正工作的是内核模块,有创建模式、管理模式、监控模式、增长模式、装配模式)

#mdadm -C  /dev/md1  -l 5  -n  3 -x  1  /dev/sdb{1,2,3,4}

-C--create

-l  #--level=#,Set  RAID level

-n  #--raid-devices=#,Specify  the number  of  active devices in the array,指定可用的或活动的磁盘数量)

-x  #--spare-devices=#,Specifythe number of spare (eXtra) devices in the initial array,指定空闲盘的个数)

#cat /proc/mdstat

#mdadm -D  /dev/md1--detail

#mke2fs  -t ext4  -E  stride=16 -b  4096  /dev/md1-E,extend-options;-b,blocksize,条带大小stride=chunk_size/block_size=64/4,chunkRAID0,RAID5有一定作用,最好指定,此句可优化软RAID性能)

#mount /dev/md1  /mnt

#ls /mnt(查看是否有文件lost+found

#mdadm /dev/md1  -f  /dev/sdb3--fail模拟损坏)

#cat /proc/mdstat(查看空闲盘是否会替换坏的磁盘,会有如下提示)

[=====>...............]  recovery = 27.0% (286780/1058816)finish=3.2min speed=3941K/sec

#mdadm /dev/md1  -r  /dev/sdb3--remove将坏的盘移除)

#mdadm /dev/md1  -a  /dev/sdc1--add增添新的空闲盘,做备用)

#mdadm -D  /dev/md1(如下显示)

   Number   Major   Minor  RaidDevice State

      0       8       17       0      active sync   /dev/sdb1

      1       8       18       1      active sync   /dev/sdb2

      3       8       20       2      active sync   /dev/sdb4

 

      4       8       33       -      spare   /dev/sdc1

#mdadm -D  --scan  > /etc/mdadm.conf(将当前RAID信息保存至配置文件,方便以后装配)

#umount /dev/md1

#mdadm -S  /dev/md1--stop

#cat /proc/mdstat

#mdadm -A  /dev/md1--assemble,Assemble a pre-existing array装配已存在的或定义了的阵列)

#cat /proc/mdstat

#mdstat -D  /dev/md1

 

#watch [-n  #]  ‘COMMAND’-n后跟秒数,不指默认每2秒执行一次,全屏周期性的执行命令)

#watch -n  5  ‘cat /proc/mdstat’(监控此文件是否有变化)

 

二、LVM操作:

#fdisk /dev/sdb(创建三个1G分区,注意分区格式为8e(linux lvm)

#partx /dev/sdb

#cat /proc/partitions

 

#pvcreate DEVICE|PARTITIONinitialize a disk or partition for use by LVM

#pvcreate /dev/sdb{1,2,3}

#pvs [DEVICE|PARTITION]report information about physical volumes

#pvdisplay [DEVICE|PARTITION]display attributes of a physical volume,扫描主机上可识别的PV

 

#vgcreate  -s PE_SIZE  VG_NAME  DEVICEcreate a volumegroup,可用-s指定PE_SIZE,默认4M

#vgcreate myvg  /dev/sdb{1,2,3}

#vgs

#vgs [VG_NAME]

#vgdisplay

#vgdisplay [VG_NAME]

 

#lvcreate -L  LV_SIZE  -n LV_NAME  VG_NAMEcreate alogical volume in an existing volume group,-L,指定LV大小(也可用-l指定PELE数量);-n,指定LV名字)

#lvcreate -L  2.5G  -n mylv  myvg

#lvs

#lvdisplay /dev/myvg/mylv1

 

#mke2fs -t  ext4  /dev/myvg/mylv

#mkdir /mylv

#mount /dev/myvg/mylv  /mylv

#df -hP/dev/myvg/mylv/dev/mapper/myvg-mylv均链接到指定的块设备文件)

#touch /mylv/test.txt

 

扩展逻辑卷:

#lvextend -L  [+]LV_SIZE  /PATH/TO/LVextend the size of alogical volume

#lvextend -L  +512M  /dev/myvg/mylv

#lvdisplay /dev/myvg/mylv

#lvs

#resize2fs -p  /dev/myvg/mylv(修复逻辑边界)

#lvs

 

缩减逻辑卷:

不能在线缩减,得先卸载;

确保缩减后的空间大小仍能存储原有的数据;

在缩减之前应先强制检查文件系统,以确保文件系统处于一致性状态

#df -hP

#umount /dev/myvg/mylv

#e2fsck -f  /dev/myvg/mylv

#resize2fs /dev/myvg/mylv  2G

#lvreduce -L  2G  /dev/myvg/mylv#lvreduce  -L -1G  /dev/myvg/mylv

#lvs

 

缩减VG移除PV

#pvmove /dev/sdb3(将此PV上的数据挪至其它PV

#vgreduce myvg  /dev/sdb3

#vgs

#pvs

#pvremove /dev/sdb3

#pvs

 

#pvcreate /dev/sdb3

#vgextend myvg  /dev/sdb3PE大小在创建时已指定,默认4M

快照卷:

生命周期为整个数据时长,在这段时长内,数据的增长量不能超出快照卷大小;

快照卷应设为只读;

跟原卷在同一卷组内

#lvcreate -L  SNAPSHOT_SIZE  -s -p  r  -n SNAPSHOTLV_NAME  /PATH/TO/LV-s,--snapshot;-p,--permission  {r|rw};-n,--name  NAME

#lvcreate -L  100M  -s  -p  r -n  mylv_snapshot  /dev/myvg/mylv(仅完全备份,此数据不能还原到数据出错那刻的状态)

#mkdir /mylv_snapshot

#mount /dev/myvg/mylv_snapshot /mylv_snapshot

#rm -rf  /mylv/test.txt

#tar jcf  /tmp/incremental.tar.bz2  /mylv/*(类似增量备份,每隔几天备份一次,便于出错还原)

#ls /mylv_snapshot/

#cp /mylv_snapshot/test.txt  /mylv/

#umount /mylv_snapshot

#lvremove /dev/myvg/mylv_snapshot






以上是学习《马哥网络视频》做的笔记。








一、磁盘配额:

     多用户共同使用一个硬盘,管理员应适当限制硬盘的空间,以妥善分配系统资源。

     #grepCONFIG_QUOTA /boot/config-2.6.32-279.el6.i686

     #rpm–qa | grep quota

     用户配额和组配额;磁盘容量限制和文件个数限制;软限制和硬限制;宽限时间。

     注:如果用户的空间处于软限制和硬限制之间,系统会在用户登录时警告将满,宽限时间默认7天,如果达到了宽限时间未调整,软限制就会升级为硬限制。

         #mount  -o remount,usrquota,grpquota  /disk1      (临时生效

         #vi  /etc/fstab                  (写入配置文件,永久生效

   /dev/sdb1         /disk1       ext4          defaults,usrquota,grpquota    1  2

1#quotacheck  [-a|-v|-u|-g|-c|-m|-f]  分区名   (建立磁盘配额的配置文件

         -a      扫描/etc/mtab文件中所有启用该功能的分区,有此项则不加分区名

         -v      显示扫描过程

         -u      建立用户配额的配置文件aquota.user

         -g      建立组配额的配置文件aquoa.grp

         -c      不管原有的配置文件,重建新的配置文件

         -m    强制以读写的方式扫描文件系统,一般扫描根分区使用

         -f       强制扫描文件系统,并写入新的配置文件,一般扫描新添加的硬盘使用

         例:#quotacheck–avug           (扫描创建前先关闭SELINUX)

                   #ll  /disk1

2#quotaon  -avug             (开启磁盘配额

         #quotaoff  -avug      (关闭磁盘配额

3#edquota  -u|-g|-t|-p 用户名/组名      (设置用户和组的磁盘配额

         -t      (设定宽限时间

         -p      (复制配额,例:#edquota  -p  源用户  -u  目标用户

         例:#edquota  -u lamp1

                   #edquota  -g brother

                   #edquota  -p lamp1  -u  lamp2

                   #edquota  -t

4#quota  -u|-g|-v|-s 用户名/组名         (查询用户和组的磁盘配额

         -s  以习惯单位显示

         例:#quota  -uvs lamp1

         #repquota  -a|-u|-g|-v|-s  分区名 (查询文件系统配额

         例:#repquota  -avugs

5#setquota  -u  用户名 容量软限制 容量硬限制 个数软限制 个数硬限制 分区名

         例:#setquota  -u lamp3 10000 20000  5 8  /disk

二、LVM(logical volume manager)

1、PV(physical volume):真正的物理硬盘或分区;

         VG(volumegroup):多个物理卷合起来组成了卷组,组成同一个卷组的物理卷可以是同一个硬盘的不同分区,也可以是不同硬盘上的不同分区,可想象为一个逻辑硬盘;

         LV(logicalvolume):是VG分区之后才能使用的,LV可格式化,可想象为分区;

         PE(physicalextend):保存数据的最小单元,默认4M,可自定义配置,可想象为硬盘的block

2、建立LVM步骤:物理硬盘分区,改系统ID号为8e;分区建立PVPV组合成VGVG划分为LV

3、PV管理:

         #fdisk  /dev/sdb            (改分区ID为8e

         #pvcreate  设备文件名       (可#pvcreate /dev/sdb整块硬盘或#pvcreate/dev/sdb5一个分区

         #pvscan                 (查看物理卷

         #pvdisplay                  (查看更详细的物理卷状态

         #pvremove  /dev/sdb2        (删除物理卷

4、VG管理:

         #vgcreate  -s PE大小 卷组名 物理卷名

         例:#vgcreate  -s 8M vg  /dev/sdb5  /dev/sdb6

         #vgscan

         #vgdisplay

         #vgextend  卷组名 分区号   (例:#vgexten  vg /dev/sdb7

         #vgreduce  卷组名 分区号   (例:#vgreduce vg  /dev/sdb7

         #vgremove  卷组名

5、LV管理:

         #lvcreate  -L 容量|-l PE个数| -n 逻辑卷名 卷组名

                   -L 容量          (指定逻辑卷大小,单位MGT

                   -l  PE个数       (用PE个数指定LV大小

                   -n逻辑卷名     (指定LV名

         例:#lvcreate  -L 1.5G -n  lv  vg

         #lvscan

         #lvdisplay

         #lvresize  -L 容量|-l PE个数 lv的设备文件名

                   -L容量             (指定LV大小,可用+-调节,单位MGT

         例:#lvresize  -L 2.5G  /dev/vg/lv

         #resize2fs  -f  设备文件名 调整的大小  (调整大小lvresize后一定要用此命令

                  -f                force

                   调整的大小       (指定分区调整到多大,无此项会使用整个分区

         例:#resize2fs  /dev/vg/lv

         #lvremove  逻辑卷的设备文件名    (先卸载后移除

#mkfs -t  ext4  /dev/vg/lv

#mount /dev/vg/lv  /mnt/lv

三、RAID磁盘阵列

1、RAID0带区卷(数据平均写入到每块硬盘中);

         RAID1镜像卷(备份,由两块硬盘组成);

         RAID10(先用两块硬盘组成RAID1,再两块硬盘也组成RAID1,这两组组合为RAID0);

         RAID01(先两块硬盘组成RAID0,再用两块硬盘也组成RAID0,这两组共同组合为RAID1);

         RAID5(至少三块硬盘,大小一样)。

2、命令模式设置为RAID5

         #mdadm  模式  RAID设备文件名  选项

         模式:    Assemble         加入一个已经存在的阵列

                   Build             创建一个没有超级块的阵列

                   Create            创建一个阵列每个设备具有超级块

                   Manage            管理阵列,如添加删除设备

                   Misc              允许单独对阵列中的设备操作,如停止阵列

                   Followor Monitor      监控RAID状态

                   Grow                改变RAID的容量或阵列中的数目

         选项:   --scan,-s            扫描配置文件或/proc/mdstat,发现丢失的信息

                  --detail,-D         查看RAID详细信息

                  --create,-c         建立新的磁盘阵列,调用create模式

                 --auto=yes,-a      用标准格式建立RAID

                  --raid-devices=num,-n      使用几个硬盘或分区组成RAId

                  --level=级别,-l创建RAID级别可以是0,1,5

                  --spare-devices=num,-x   备份设备

                  --add,-a          已存在的RAID中加入设备

                  --remove,-r         已存在的RAID中移除设备

                 --fail,-f           已存在的设备设为fault

                  --stop,-S         停止RAID设备

                  --assemble,-A       按照配置文件加载RAID

例:#mdadm  --create  --auto=yes /dev/md0  --level=5  --raid-devices=3  --spare-devices=1 \ >/dev/sdb5 /dev/sdb6  /dev/sdb7  /dev/sdb8

         #mdadm  --detail /dev/md0

         #cat  /rpoc/mdstat

         #mkfs  -t ext4  /dev/md0

         #mount  /dev/md0 /raid/

         #echo  Device /dev/sdb[5-8]  >>/etc/mdadm.conf

         #mdadm  -Ds >> /etc/mdadm.conf

         #vi  /etc/fstab        (设置开机自动挂载

/dev/md0 /raid  ext4  defaults 1  2

         #mdadm  --stop /dev/md0

         #mdadm  -As /dev/md0          (启动并挂载

         #mount  /dev/md0 /raid/

         #mdadm  /dev/md0 --fail  /dev/sdb7

         #mdadm  --detail /dev/sdb7

         #mdadm  /dev/md0 --remove  /dev/sdb7

         #mdadm  /dev/md0 --add  /dev/sdb9       (备份分区/dev/sdb8已激活

 


本文转自 chaijowin 51CTO博客,原文链接:http://blog.51cto.com/jowin/1650070,如需转载请自行联系原作者

相关文章
|
27天前
|
存储 算法 Linux
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
60 5
|
14天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
1天前
|
Ubuntu Linux 芯片
Linux(2)ubuntu rootfs根文件系统制作
Linux(2)ubuntu rootfs根文件系统制作
13 0
|
8天前
|
消息中间件 监控 Linux
Linux进程和计划任务管理
通过这些命令和工具,你可以有效地管理Linux系统中的进程和计划任务,监控系统的运行状态并保持系统的稳定和可靠性。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
101 2
|
9天前
|
存储 运维 监控
深入理解 Linux 文件系统的层次结构
【4月更文挑战第14天】本文将探讨 Linux 操作系统的文件系统层次结构,这是每个系统管理员和开发人员必须掌握的核心知识。我们将从文件系统的顶层目录开始,逐步深入到每个目录的特定用途和重要性,以及它们如何协同工作以支持 Linux 系统的正常运行。
|
15天前
|
存储 缓存 监控
Linux内存和硬盘空间管理技巧
了解Linux内存和硬盘管理技巧,提升系统性能和稳定性。使用`free`, `top`, `vmstat`监控内存,通过`sync`, `echo 1 &gt; /proc/sys/vm/drop_caches`清理缓存。利用Swap分区释放内存。借助`df`, `du`检查硬盘空间,清理无用文件,使用`clean-old`, `gzip`, `tar`压缩归档。查找大文件用`find`和`du`,确保
33 0
|
20天前
|
运维 Linux Shell
linux运维常用命令
linux运维常用命令
|
22天前
|
存储 固态存储 Unix
Linux中磁盘分区和文件系统管理
在Linux系统中,磁盘是存储数据的物理设备,如HDD或SSD,以文件形式存在于`/dev`目录下,如`sda`、`sdb`等。文件系统定义了如何在磁盘上组织和访问数据,常见的Linux文件系统有ext2、ext3、ext4、xfs等。通过虚拟机软件如VMware,用户可以向Linux虚拟机添加新的硬盘。
|
25天前
|
Linux
linux中服务管理
在Linux服务管理中,从传统的System V init到Upstart,再到广泛采用的systemd,管理方式不断发展。systemd以其强大的功能和依赖解决成为现代Linux的核心。`systemctl`是管理服务的关键命令,如启动(`start`)、停止(`stop`)、重启(`restart`)服务及设置开机启动(`enable`)或取消(`disable`)。了解和服务管理,特别是systemd和`systemctl`的使用,对系统管理员至关重要。其他如xinetd用于控制网络服务,而特定环境下有OpenRC等工具。
17 2
|
26天前
|
运维 监控 Linux
linux脚本自动化运维任务
Linux自动化运维通过脚本提升效率,涵盖服务管理(启停服务、异常恢复)、系统监控(资源警报)、日志管理(清理分析)、备份恢复、补丁更新、自动化部署(如Ansible)、网络管理、定时任务(cron)和故障排查。结合shell、Python及工具,形成高效运维体系。
21 3