LVM.docx
- 文档编号:30680562
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:23
- 大小:43.01KB
LVM.docx
《LVM.docx》由会员分享,可在线阅读,更多相关《LVM.docx(23页珍藏版)》请在冰豆网上搜索。
LVM
首先申明,LVM(LogicalVolumeManager)是操作系统中一个磁盘管理子系统,而不是文件系统!
在LVM里,一个PV(PhysicalVolume,物理卷)对应且只对应一个物理硬盘,一个或者多个PV组成一个VG(VolumeGroup,卷组),而从一个VG里又可以虚拟划分出若干个LV(LogicalVolume,逻辑卷),真正的文件系统是创建在LV上面的,如下图示:
可以在LV上建文件系统,也可以不建文件系统而直接使用,这时叫裸设备(rawdevice)。
因为是直接对设备进行数据读写,所以Rawdevice的性能要比文件系统好,许多数据库系统就是直接存储在裸设备上,但是可管理性比较差,题外话。
一个很容易想到的问题:
LVM系统怎么知道往某一个LV里面存数据时,到底是存放到哪个(些)实际硬盘呢?
在LVM系统里,一个PV由若干个PE(PhysicalExtent)组成,一个LV由若干个LE(LogicalExtent)组成,而这些PE和LE之间又有直接的对应关系,这种对应关系被存储在一个叫做“PE/LE对应表”(TranslationTable)的表中。
TranslationTable存放在LVM磁盘上,当VG被激活时才装载到内存中。
PE是在创建卷组时创建的,大小由vgcreate的-s参数指定,默认是4M;在同一个VG里面的所有PV的PE大小是一样的,不管实际硬盘的大小和型号是否相同。
当LV创建时,LVM系统创建LE并自动维护PE/LE对应表,使得每一个LV里面的LE都可以找到与之对应的PE,从而知道数据该往哪个硬盘写。
一般情况下创建LV的时候,系统都是按物理硬盘加入VG的顺序来分配其可用的PV。
比如说c0t5d0是第一个加入VG的硬盘,那么默认情况下c0t5d0里的可用PV将最先被用来分配,除非在使用lvextend命令时特殊指定。
在使用vgcreate的-s参数时,PE的大小必须是2的整数倍,一般使用默认值4。
为什么是4而不是8、16...?
(你问我我问谁?
:
p)不过我很幼稚的研究发现,一个PV最多只能有65535个PE,也就是最大支持4*65535=262140M的硬盘,当单个硬盘容量超过这个数的时候,PE的大小是不是就必须加大了?
应该是吧!
还有几个LVM的限定,要说明
·一个LV只能属于一个VG(不要去想lvol9先从vg00弄点空间,再从vg01弄点空间)
·一个PV要么独立要么属于且仅属于一个VG(独立时作为RawDevice,性能比较猛)
·vgcrete-l参数将限定一个VG里面能创建的最大LV数量,极限是255
·vgcreate-p参数限定一个VG里面能容纳的最多PV数,极限是255
·内核参数maxvgs限定系统最大的VG数,默认是10,最大可以变态到256
做系统管理和技术支持的人民不能不知道Quorum!
什么是Quorum?
我查金山词霸的解释“法定人数委员会或组织最少人数的官员或成员,通常要达到多数,必须出席以确保事务处理的有效性”。
在LVM里也要用到Quorum机制。
那么在LVM里的Quorum又是什么意思呢?
---在激活vg之前,系统检测属于该vg的所有PV,当且仅当过半数的PV没问题时,该vg才允许被激活。
这是一个安全机制,居然有一半的PV是坏的还让激活,那不纯心让人家数据丢失么?
Quorum机制在VG配置改变(如新建逻辑卷)或状态改变(如VG里面有硬盘损坏)时都会被检测。
不过,可以用“vgchange-qn”来绕过Quorum检测。
说到Quorum,又会联想到只有2块盘做Mirror的情形,比如启动时的“hpux-lq”等,后面会再做更为详细的说明。
最后说明一下空间分配的连续性问题。
下图为2个非连续空间分配(Non-ContiguousAllocationPolicy)的示例:
如图示可以看出,非连续空间分配主要表现在给LV分配空间时,PE的不连续性。
这种非连续性空间分配策略是LVM在创建LV时的默认策略,优点是可以跨多个PV,充分利用有效的剩余空间,同时非常方便扩文件系统,但是缺点之一是可能造成磁盘分配不均衡。
当然,可以用lvextend来指定分配到哪个硬盘,但是效果不理想。
相比之下,连续性空间分配策略对PE的分配要求要高得多:
·首先是不能跨多个PV
·PE必须按升序连续分配
·如果是做镜像,那么镜像的空间也必需满足ContiguousAllocationPolicy
很显然,连续分配的空间比非连续分配的空间要容易管理,这样对于可用性要求非常高的空间比如根文件系统、主交换区以及DUMP区等都要求分配连续的空间。
不过,要求连续分配的空间扩起来(比如扩根文件系统)非常麻烦,稍后会专门论述。
lvcreate-Cy/n决定如何给LV分配空间。
下面是偶在网上找到的HP-UX系统管理员常用的命令集和参数,已经分了类,大家可以参考一下,后面的注释不是E文,不过应该猜的懂。
Boot-ROM
[ESC] # bricht Boot-Vorgang ab
search [ISL] # listet alle m&glichen Boot-Devices (mit ISL) auf
path [pri|alt|<#>|
help
ISL
hpux /stand/vmunix # bootet normal mit Kernel /stand/vmunix (default)
hpux -is # bootet im Single-User-Modus
hpux -lq # bootet ohne LVM-Quorum
hpux -lm # bootet im LVM Maintenance Mode (falls Boot-Disk korrupt)
hpux show autofile # zeigt Inhalt des LIF AUTO Files
hpux set autofile "hpux -lq" # &ndert Inhalt des LIF AUTO Files
hpux ls -l # listet Inhalt von /stand
# mkboot
# lifls
# licp
AUTO - # listet Inhalt des Autofile aud stdout
System Startup
/sbin/rc
S|K, Bsp:
/sbin/rc2.d/S730cron, symbolisch verlinkt mit:
/sbin/init.d/
/etc/rc.config.d/
CDE-Login (Default im Run-Level 3)
/etc/dt/config/Xstartup (ggf. kopieren aus /usr/dt/config/Xstartup) # CDE-Login-Script
/etc/profile
~/.dtprofile # pers&nliches CDE-Login-Script
falls DTSOURCEFILE=true -> ~/.profile # pers&nliches Login-Script
falls ENV=~/.shrc; export ENV -> ~/.shrc # pers&nliches Shell-Startup-Script
mit:
HISTFILE=~/.sh_history
HISTSIZE=500
PS1="$(hostname):
"'$PWD# '
Terminal-Login (via lokaler Konsole, telnet oder remsh)
/etc/profile
~/.profile # pers&nliches Login-Script
falls ENV=~/.shrc; export ENV -> ~/.shrc # pers&nliches Shell-Startup-Script
mit:
HISTFILE=~/.sh_history
HISTSIZE=500
PS1="$(hostname):
"'$PWD# '
SAM
sam [-r] # (Restricted SAM Builder for administrating users)
Remote Administration
xhost +
telnet
export
0.0
sam
User Accounts
sam
useradd [-m]
usermod ... # Ändern eines User Accounts
userdel ...
Editor=vi; vipw # mit Write-Lock auf /etc/passwd
pwck # /etc/passwd
Trusted System
Verbesserte Passwort-Vorgaben und -Alterungen, Benutzer- und Terminal-Überwachung
sam -> Auditing and Security -> System Security Policies # Einrichten aber nur bei Bedarf!
sam -> Auditing and Security -> Audited Users -> Actions -> Unconvert ... # Aufheben
Configuring Peripherals
ioscan [-f] [-C disk|ext_bus|lan|tape] [-u] [-n] # I/O-System-Informationen
model # Hardware Modell-Informationen
lanscan # LAN Device-Konfiguration
Device Files
lsdev [-C class] # Device-Treiber-spezifische Informationen
lssf
insf [-e] # ggf. erst nach ioscan
mksf
mknod
Logical Volume Manager
pvcreate [-f] [-B]
mkdir /dev/
mknod /dev/
vgcreate [-e
lvcreate [-L
lvextend # zur gezielten Zuweisung von LV -> Disks
pvdisplay [-v]
vgdisplay [-v]
lvdisplay [-v] /dev/
Veritas Volume Manager
vxinstall
vmsa_server &
vmsa &
File Systeme
newfs -F hfs [-s
newfs -F vxfs [-s
mkdir
mount
mount [-v] [-p] # mit /etc/fstab-kompatibler Ausgabe
Swap
/etc/dmesg # Aufteilung des physischen Speichers (RAM)
swapon [-e]
swapon [-p
# dauerhaft in /etc/fstab eintragen
swapinfo -tm
LVM (Advanced)
bdf [-i] # Disk-Auslastungsübersicht
du -k # Bsp.:
du -k / | sort -n > /tmp/du.sort
sam -> Routine Tasks -> ...
pvcreate [-f] /dev/rdsk/
vgextend
lvextend -L
umount
oder
fsadm -F vxfs -b
tar -c
oder
fsadm -F vxfs -de
lvreduce -L
umount
pvmove /dev/dsk/
vgreduce
oder
vgchange -a n
Mirror
lvextend -m <1|2> /dev/
lvreduce -m <0|1> /dev/
Datensicherung mit minimaler Downtime:
lvsplit /dev/
fsck -F hfs /dev/
mkdir
mount -o ro /dev/
# jetzt
umount
lvmerge /dev/
Backup / Disaster Recovery
fbackup -f
fbackup -f
frecover -f
frecover -f
frecover -f
frecover -f
fsck -F
Recherche-Tipps:
ll /
vgcfgbackup
vgcfgrecover -n
make_recovery [-ACi] # create a system recovery tape (component of Ignite-UX)
check_recovery # check currency of most recent recovery tape
make_medialif
print_manifest # output complete system configuration
Networking-Konfiguration
/etc/rc.config.d/netconf # Network Configuration File
/sbin/init.d/net start # Aktivieren der Eintr&ge im Network Configuration File
ifconfig lan<#> inet [
ifconfig lan<#1>:
<#2> inet [
route add | delete default | net
netstat -rn # Routing-Tabellen-Informationen
Networking-Troubleshooting
ioscan -funC lan # LAN-I/F-Status
lanscan # LAN-I/F-Informationen auf Layer 1-2
lanadmin # LAN-I/F-Administration auf Layer 2-4
linkloop [-i
arp [-a] [
ping
netstat -i[n] # Information über Konfiguration der lokalen LAN-I/F
nslookup
nsquery hosts
/usr/contrib/bin/traceroute
Domain Name Services (DNS)
# at least 2 name servers in every domain:
with master se
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LVM
![提示](https://static.bdocx.com/images/bang_tan.gif)