首页
关于
标签合集
友情链接
Search
1
一些简单方面的Linux生产随机密码shell
350 阅读
2
美超微主板IPMI使用教程
324 阅读
3
Ubuntu系统开启root登陆权限
250 阅读
4
linux下502自动重启脚本
230 阅读
5
利用廉价VPS做反代,保护你的真实服务器
178 阅读
OS
促销资讯
管理系统
网站运维
网文资讯
登录
Search
标签搜索
网站架构
linux
网站运营
centos
mysql
google
nginx
ssh
apache
服务器
kloxo
vps
架构分析
PHP
特价VPS
xen
shell
数据库
lamp
vpn
装逼爱好者
累计撰写
163
篇文章
累计收到
20
条评论
首页
栏目
OS
促销资讯
管理系统
网站运维
网文资讯
页面
关于
标签合集
友情链接
搜索到
82
篇与
的结果
2016-01-15
Dell服务器开启虚拟化支持
modprobe kvm_intel> FATAL: Error inserting kvm_intel> (/lib/modules/2.6.32-504.el6.x86_64/kernel/arch/x86/kvm/kvm-intel.ko):> Operation not supported Dec 20 02:48:36 KvmServer kernel: lo: Disabled Privacy ExtensionsDec 20 02:49:05 KvmServer kernel: kvm: disabled by bios
2016年01月15日
100 阅读
0 评论
0 点赞
2015-09-13
Centos6升级e2fsprogs
Centos6低版本的resize2fs和e2fsck对Centos7的guest OS硬盘分区进行操作的时候出现吃不开的情况。CentOS6自带的e2fsprogs是1.41版本,曾使用源码编译安装但是出现了一些奇奇怪怪的问题,最后找到了intel封装的rpm包。安装的shell如下cat>/etc/yum.repos.d/e2fspros.repo<<EOF [e2fsprogs] name=e2fsprogs baseurl=https://downloads.hpdd.intel.com/public/e2fsprogs/latest/el\$releasever/ enabled=1 gpgcheck=0 EOF yum install -y e2fsprogs升级完后的查看版本为1.42.12# e2fsck -V e2fsck 1.42.12.wc1 (15-Sep-2014) Using EXT2FS Library version 1.42.12.wc1, 15-Sep-2014
2015年09月13日
169 阅读
0 评论
0 点赞
2015-06-24
Auditd导致RHEL/Centos宕机
最近维护的几台服务器经常出现宕机,查系统日志一看都卡在一个地方了,停的地方有提到Auditd,曾经有遇上过没放心上没想到这次几次连续宕机都是由这货引起的。 具体是什么原因导致的我也不清楚也没有深查,直接懒惰暴力的解决掉这个问题,流程如下: 先查看状态service audit status类似auditd (pid xxx) is running...的返回显示运行中。 禁用service启动功能并停止服务, 停止cron和atd的服务好顺利从内核里面删除模块, 禁用内核加载模块,启动停止的crond和atd服务删除残留日志。暴力的复制粘贴记录如下chkconfig auditd off service auditd stop service crond stop service atd stop rmmod audit echo "alias char-major-10-224 off" >> /etc/modprobe.d/dist.conf service crond start service atd start rm -f /var/log/audit*
2015年06月24日
104 阅读
0 评论
0 点赞
2015-06-14
ubuntu升级系统至最新版本
ubuntu每个版本的维护周期相比Centos的更短,更新换代速度较快,稍不注意就落后几个大版本, 到现在还有很多人在用ubuntu 12,然后各种抱怨不能用apt,是不是服务器或者VPS坏了,各种乱入瞎闹腾。先安装更新管理器的核心工具,然后升级系统版本,具体命令如下:sudo apt-get install update-manager-core sudo do-release-upgrade
2015年06月14日
98 阅读
0 评论
0 点赞
2015-01-16
常用iptables参数细节使用方法
iptables 指令语法: iptables [-t table] command [match] [-j target/jump]-t 参数用来指定规则表,内建的规则表有三个,分别是:nat、mangle 和 filter,当未指定规则表时,则一律视为是 filter。 各个规则表的功能如下:nat 此规则表拥有 Prerouting 和 postrouting 两个规则链,主要功能为进行一对一、一对多、多对多等网址转译工作(SNATDNAT),由于转译工作的特性,需进行目的地网址转译的封包,就不需要进行来源网址转译,反之亦然,因此为了提升改写封包的率,在防火墙运作时,每个封包只会经过这个规则表一次。如果我们把封包过滤的规则定义在这个数据表里,将会造成无法对同一包进行多次比对,因此这个规则表除了作网址转译外,请不要做其它用途。mangle 此规则表拥有 Prerouting、FORWARD 和 postrouting 三个规则链。除了进行网址转译工作会改写封包外,在某些特殊应用可能也必须去改写封包(TTL、TOS)或者是设定 MARK(将封包作记号,以进行后续的过滤),这时就必须将这些工作定义在 mangle 规则表中,由于使用率不高,我们不打算在这里讨论 mangle 的用法。封包过滤的理动作(例如:DROP、 LOG、 ACCEPT 或 REJECT),我们会将基本规则都建立在此规则表中。主要包含::命令表用来增加(-A、-I)删除(-D)修改(-R)查看(-L)规则等;常用参数用来指定协议(-p)、源地址(-s)、源端口(--sport)、目的地址(-d)、目的端口(--dport)、进入网卡(-i)、出去网卡(-o)等设定包信息(即什么样的包);用来描述要处理包的信息。常用处理动作用 -j 来指定对包的处理(ACCEPT、DROP、REJECT、REDIRECT等)。1、常用命令列表: 常用命令(-A追加规则、-D删除规则、-R修改规则、-I插入规则、-L查看规则) 命令-A,--append范例 iptables -A INPUT ...说明新增规则(追加方式)到某个规则链(这里是INPUT规则链)中,该规则将会成为规则链中的最后一条规则。命令-D,--delete范例 iptables -D INPUT --dport 80 -j DROPiptables -D INPUT 1说明 从某个规则链中删除一条规则,可以输入完整规则,或直接指定规则编号加以删除。命令-R, --replace范例 iptables -R INPUT1-s 192.168.0.1 -j DROP说明取代现行规则,规则被取代后并不会改变顺序。(1是位置)命令-I,--insert范例 iptables -I INPUT1--dport 80 -j ACCEPT说明插入一条规则,原本该位置(这里是位置1)上的规则将会往后移动一个顺位。命令-L, --list范例 iptables -L INPUT说明 列出某规则链中的所有规则。命令-F, --flush范例 iptables -F INPUT说明 删除某规则链(这里是INPUT规则链)中的所有规则。命令-Z,--zero范例 iptables -Z INPUT说明 将封包计数器归零。封包计数器是用来计算同一封包出现次数,是过滤阻断式攻击不可或缺的工具。命令-N, --new-chain范例 iptables -N allowed说明 定义新的规则链。命令-X, --delete-chain范例 iptables -X allowed说明 删除某个规则链。命令-P, --policy范例 iptables -P INPUT DROP说明 定义过滤政策。 也就是未符合过滤条件之封包,预设的处理方式。命令-E,--rename-chain范例 iptables -E allowed disallowed说明 修改某自订规则链的名称。2、常用封包比对参数:(-p协议、-s源地址、-d目的地址、--sport源端口、--dport目的端口、-i进入网卡、-o 出去网卡)参数-p, --protocol (指定协议)范例 iptables -A INPUT -p tcp (指定协议) -p all 所有协议, -p !tcp 去除tcp外的所有协议。说明 比对通讯协议类型是否相符,可以使用 ! 运算子进行反向比对,例如:-p ! tcp ,意思是指除 tcp 以外的其它类型,包含udp、icmp ...等。如果要比对所有类型,则可以使用 all 关键词,例如:-p all。参数-s, --src, --source(指定源地址,指定源端口--sport)例如: iptables -A INPUT -s 192.168.1.1说明 用来比对封包的来源 IP,可以比对单机或网络,比对网络时请用数字来表示屏蔽,例如:-s 192.168.0.0/24,比对 IP 时可以使用 ! 运算子进行反向比对,例如:-s ! 192.168.0.0/24。 参数-d, --dst, --destination(指定目的地址,指定目的端口--dport)例如: iptables -A INPUT -d 192.168.1.1说明 用来比对封包的目的地 IP,设定方式同上。 参数-i, --in-interface (指定入口网卡) -i eth+ 所有网卡例如: iptables -A INPUT -i eth0说明 用来比对封包是从哪片网卡进入,可以使用通配字符 + 来做大范围比对,例如:-i eth+ 表示所有的 ethernet 网卡,也以使用 ! 运算子进行反向比对,例如:-i ! eth0。参数-o, --out-interface (指定出口网卡)例如: iptables -A FORWARD -o eth0说明 用来比对封包要从哪片网卡送出,设定方式同上。参数--sport, --source-port (源端口)例如: iptables -A INPUT -p tcp --sport 22说明 用来比对封包的来源端口号,可以比对单一埠,或是一个范围,例如:--sport 22:80,表示从 22 到 80 端口之间都算是符合件,如果要比对不连续的多个埠,则必须使用--multiport 参数,详见后文。比对埠号时,可以使用 ! 运算子进行反向比对。参数--dport, --destination-port (目的端口)例如: iptables -A INPUT -p tcp --dport 22说明 用来比对封包的目的端口号,设定方式同上。参数--tcp-flags (只过滤TCP中的一些包,比如SYN包,ACK包,FIN包,RST包等等)例如: iptables -p tcp --tcp-flags SYN,FIN,ACK SYN说明 比对 TCP 封包的状态旗号,参数分为两个部分,第一个部分列举出想比对的旗号, 第二部分则列举前述旗号中哪些有被设,未被列举的旗号必须是空的。TCP 状态旗号包括:SYN(同步)、ACK(应答)、FIN(结束)、RST(重设)、URG(紧急)PSH(强迫推送) 等均可使用于参数中,除此之外还可以使用关键词 ALL 和 NONE 进行比对。比对旗号时,可以使用 ! 运算子行反向比对。 参数--syn例如: iptables -p tcp --syn说明 用来比对是否为要求联机之 TCP 封包,与 iptables -p tcp --tcp-flags SYN,FIN,ACK SYN 的作用完全相同,如果使用 !运算子,可用来比对非要求联机封包。参数-m multiport --source-port例如: iptables -A INPUT -p tcp -m multiport --source-port 22,53,80,110说明 用来比对不连续的多个来源埠号,一次最多可以比对 15 个埠,可以使用 !运算子进行反向比对。 参数-m multiport --destination-port例如: iptables -A INPUT -p tcp -m multiport --destination-port 22,53,80,110说明 用来比对不连续的多个目的地埠号,设定方式同上。 参数-m multiport --port例如: iptables -A INPUT -p tcp -m multiport --port 22,53,80,110说明 这个参数比较特殊,用来比对来源埠号和目的埠号相同的封包,设定方式同上。注意:在本范例中,如果来源端口号为 80目的地埠号为 110,这种封包并不算符合条件。 参数--icmp-type例如: iptables -A INPUT -p icmp --icmp-type 8说明 用来比对 ICMP 的类型编号,可以使用代码或数字编号来进行比对。请打 iptables -p icmp --help 来查看有哪些代码可用。 参数-m limit --limit例如: iptables -A INPUT -m limit --limit 3/hour说明 用来比对某段时间内封包的平均流量,上面的例子是用来比对:每小时平均流量是否超过一次 3 个封包。 除了每小时平均次外,也可以每秒钟、每分钟或每天平均一次,默认值为每小时平均一次,参数如后: /second、 /minute、/day。 除了进行封数量的比对外,设定这个参数也会在条件达成时,暂停封包的比对动作,以避免因骇客使用洪水攻击法,导致服务被阻断。 参数--limit-burst范例 iptables -A INPUT -m limit --limit-burst 5说明 用来比对瞬间大量封包的数量,上面的例子是用来比对一次同时涌入的封包是否超过 5 个(这是默认值),超过此上限的封将被直接丢弃。使用效果同上。 参数-m mac --mac-source范例 iptables -A INPUT -m mac --mac-source 00:00:00:00:00:01说明 用来比对封包来源网络接口的硬件地址,这个参数不能用在 OUTPUT 和 Postrouting规则炼上,这是因为封包要送出到网后,才能由网卡驱动程序透过 ARP 通讯协议查出目的地的 MAC 地址,所以 iptables 在进行封包比对时,并不知道封包会送到个网络接口去。 参数--mark范例 iptables -t mangle -A INPUT -m mark --mark 1说明 用来比对封包是否被表示某个号码,当封包被比对成功时,我们可以透过 MARK 处理动作,将该封包标示一个号码,号码最不可以超过 4294967296。 参数-m owner --uid-owner范例 iptables -A OUTPUT -m owner --uid-owner 500说明 用来比对来自本机的封包,是否为某特定使用者所产生的,这样可以避免服务器使用root 或其它身分将敏感数据传送出,可以降低系统被骇的损失。可惜这个功能无法比对出来自其它主机的封包。 参数-m owner --gid-owner范例 iptables -A OUTPUT -m owner --gid-owner 0说明 用来比对来自本机的封包,是否为某特定使用者群组所产生的,使用时机同上。 参数-m owner --pid-owner范例 iptables -A OUTPUT -m owner --pid-owner 78说明 用来比对来自本机的封包,是否为某特定行程所产生的,使用时机同上。 参数-m owner --sid-owner范例 iptables -A OUTPUT -m owner --sid-owner 100说明 用来比对来自本机的封包,是否为某特定联机(Session ID)的响应封包,使用时机同上。 参数-m state --state范例 iptables -A INPUT -m state --state RELATED,ESTABLISHED说明 用来比对联机状态,联机状态共有四种:INVALID、ESTABLISHED、NEW 和 RELATED。INVALID 表示该封包的联机编号(Session ID)无法辨识或编号不正确。ESTABLISHED 表示该封包属于某个已经建立的联机。NEW 表示该封包想要起始一个联机(重设联机或将联机重导向)。RELATED 表示该封包是属于某个已经建立的联机,所建立的新联机。例如:FTP-DATA 联机必定是源自某个 FTP 联机。 3、常用的处理动作: (-j 指定对满足条件包的处理,常用动作有ACCEPT接受报、DROP丢弃报、REJECT丢弃报并通知对方、REDIRECT重定向包等) -j 参数用来指定要进行的处理动作,常用的处理动作包括:ACCEPT、REJECT、DROP、REDIRECT、MASQUERADE、LOG、DNAT、SNAT、MIRROR、QUEUE、RETURN、MARK,分别说明如下: ACCEPT将封包放行,进行完此处理动作后,将不再比对其它规则,直接跳往下一个规则链(natostrouting)。REJECT拦阻该封包,并传送封包通知对方,可以传送的封包有几个选择:ICMP port-unreachable、ICMP echo-reply 或是 tcp-reset(这个封包会要求对方关闭联机),进行完此处理动作后,将不再比对其它规则,直接中断过滤程序。例如:iptables -A FORWARD -p TCP --dport 22 -j REJECT --reject-with tcp-resetDROP丢弃封包不予处理,进行完此处理动作后,将不再比对其它规则,直接中断过滤程序。REDIRECT将封包重新导向到另一个端口(PNAT),进行完此处理动作后,将会继续比对其它规则。这个功能可以用来实作通透式porxy 或用来保护 web 服务器。例如:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080MASQUERADE改写封包来源 IP 为防火墙 NIC IP,可以指定 port 对应的范围,进行完此处理动作后,直接跳往下一个规则(mangleostrouting)。这个功能与 SNAT 略有不同,当进行 IP 伪装时,不需指定要伪装成哪个 IP,IP 会从网卡直接读,当使用拨接连线时,IP 通常是由 ISP 公司的 DHCP 服务器指派的,这个时候 MASQUERADE 特别有用。例如:iptables -t nat -A POSTROUTING -p TCP -j MASQUERADE --to-ports 1024-31000LOG将封包相关讯息纪录在 /var/log 中,详细位置请查阅 /etc/syslog.conf 组态档,进行完此处理动作后,将会继续比对其规则。例如:iptables -A INPUT -p tcp -j LOG --log-prefix "INPUT packets"SNAT改写封包来源IP 为某特定 IP 或 IP 范围,可以指定 port 对应的范围,进行完此处理动作后,将直接跳往下一个规则(mangleostrouting)。例如:iptables -t nat -A POSTROUTING -p tcp-o eth0 -j SNAT--to-source194.236.50.155-194.236.50.160:1024-32000DNAT改写封包目的地IP 为某特定 IP 或 IP 范围,可以指定 port 对应的范围,进行完此处理动作后,将会直接跳往下一个规炼(filter:input 或 filter:forward)。例如:iptables -t nat-A PREROUTING -p tcp -d 15.45.23.67 --dport 80 -j DNAT--to-destination 192.168.1.1-192.168.1.10:80-100MIRROR镜射封包,也就是将来源 IP 与目的地 IP 对调后,将封包送回,进行完此处理动作后,将会中断过滤程序。QUEUE中断过滤程序,将封包放入队列,交给其它程序处理。透过自行开发的处理程序,可以进行其它应用,例如:计算联机费......等。RETURN结束在目前规则炼中的过滤程序,返回主规则炼继续过滤,如果把自订规则炼看成是一个子程序,那么这个动作,就相当提早结束子程序并返回到主程序中。MARK将封包标上某个代号,以便提供作为后续过滤的条件判断依据,进行完此处理动作后,将会继续比对其它规则。例如:iptables -t mangle -A PREROUTING -p tcp --dport 22 -j MARK --set-mark 2四.拓展模块 1.按来源MAC地址匹配 # iptables -t filter -A FORWARD-m --mac-source 00:02:b2:03:a5:f6-j DROP 拒绝转发来自该MAC地址的数据包 2.按多端口或连续端口匹配 20: 表示20以后的所有端口 20:100 表示20到100的端口 :20表示20之前的所有端口 -m multiport [--prots, --sports,--dports]例子:# iptables -A INPUT -p tcp -m multiport --dports 21,20,25,53,80 -j ACCEPT 【多端口匹配】 # iptables -A INPUT -p tcp --dport 20: -j ACCEPT # iptables -A INPUT -p tcp --sport 20:80 -j ACCEPT # iptables -A INPUT -p tcp --sport :80 -j ACCEPT3.还可以按数据包速率和状态匹配 -m limit --limit 匹配速率 如: -m limit --limit 50/s -j ACCEPT -m state --state 状态 如: -m state --state INVALID,RELATED -j ACCEPT 4.还可以限制链接数-m connlimit --connlimit-above n 限制为多少个例如:iptables -I FORWARD -p tcp -m connlimit --connlimit-above 9 -j DROP //表示限制链接数最大为9个5、模拟随机丢包率iptables -A FORWARD -p icmp -m statistic --mode random --probability 0.31 -j REJECT //表示31%的丢包率或者-m random --average 5 -j DROP 表示模拟丢掉5%比例的包相关知识:Linux 中延时模拟设置延时 3s :tc qdisc add dev eth0 root netem delay 3000ms可以在 3000ms 后面在加上一个延时,比如 ’3000ms 200ms‘表示 3000ms ± 200ms ,延时范围 2800 – 3200 之间. 结果显示如下 Linux 中丢包模拟设置丢包 50% ,iptables 也可以模拟这个,但一下不记的命令了,下次放上来:tc qdisc change dev eth0 root netem loss 50%上面的设丢包,如果给后面的 50% 的丢包比率修改成 ’50% 80%’ 时,这时和上面的延时不一样,这是指丢包比率为 50-80% 之间。
2015年01月16日
65 阅读
0 评论
0 点赞
2014-08-23
一些简单方面的Linux生产随机密码shell
密码的重要性不用多说,在大数据环境下被各种人肉数据库可以轻松的获取到目标的常用密码,在这种情况下单纯的密码验证已经不能再使用过去简单规则单一化的密码了,在Linux里面经常使用预先写好的脚本进行配置服务器不能使用同一个密码所以随机生成密码就很方面了。 下面的这些方法的一些在安装了Cygwin的Windows下也是可以运行的,特别是最后一种方法。生成一个随机密码对于下面的任何一种方法,你可以通过简单的修改来生成特定长度的密码,或者只使用其输出结果的前N位。希望你正在使用一些类似于LastPass的密码管理器,这样你就不用自己记住这些随机生成的密码了。1. 这种方法使用SHA算法来加密日期,并输出结果的前32个字符:date +%s | sha256sum | base64 | head -c 32 ; echo2. 这种方法使用内嵌的/dev/urandom,并过滤掉那些日常不怎么使用的字符。这里也只输出结果的前32个字符:/dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;3. 这种方法使用openssl的随机函数。如果你的系统也许没有安装openssl,你可以尝试其它九种方法或自己安装openssl。openssl rand -base64 324. 这种方法类似于之前的urandom,但它是反向工作的。Bash的功能是非常强大的!tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n15. 这种方法使用string命令,它从一个文件中输出可打印的字符串:strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d 'n'; echo6. 这是使用urandom的一个更简单的版本:/dev/urandom tr -dc _A-Z-a-z-0-9 | head -c67. 这种方法使用非常有用的dd命令:dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev8. 你甚至可以生成一个只用左手便可以输入的密码:9. 如果每次都使用上述某种方法,那更好的办法是将它保存为函数。如果这样做了,那么在首次运行命令之后,你便可以在任何时间只使用randpw就可以生成随机密码。或许你可以把它保存到你的~/.bashrc文件里面。randpw(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;}10. 最后这种生成随机密码的方法是最简单的。它同样也可以在安装了Cygwin的Windows下面运行。在Mac OS X下或许也可以运行。我敢肯定会有人抱怨这种方法生成的密码没有其它方法来的随机。但实际上如果你使用它生成的全部字符串作为密码,那这个密码就足够随机了。date | md5sum
2014年08月23日
350 阅读
1 评论
0 点赞
2014-08-23
一些常用的Linux服务器监控命令
在不同的Linux发行版中,会有不同的GUI程序可以显示各种系统信息,比如SUSE Linux发行版中,就有非常棒的图形化的配置和管理工具YaST,KDE桌面环境里的KDE System Guard也很不错。然而,对于一名Linux系统管理员来说,除非迫不得已,否则不会在Linux服务器上去运行这样的GUI程序,主要还是因为GUI会占用很多的系统资源。所以呢,使用GUI工具一般都是做简单的排查,如果你真的想知道系统里真正发生了什么,那么请关掉你的GUI,快点进入Linux命令行的世界吧。如果希望追求最佳性能,那么Linux服务器应该运行在runlevel 3级别,也就是支持网络和多用户功能,但不支持GUI功能。如果你真的需要GUI,那么可以在命令行输入startx进入GUI。
2014年08月23日
51 阅读
0 评论
0 点赞
2014-08-09
windows系统使用cmd添加或删除IP
添加地址:netsh interface ipv4 add address "本地连接" 192.168.1.100 255.255.255.0删除地址:netsh interface ipv4 delete address "本地连接" 192.168.1.100
2014年08月09日
68 阅读
0 评论
0 点赞
2014-07-26
Centos7找不到ifconfig和netstat命令
Centos7发布有一段时间了,最近使用中也发现一些问题,从Centos6换过来后感觉到不少细微的变化例如默认没有ifconfig和netstat两个命令了,ifconfig其实使用ip addr命令可以代替,在cenots6下的ss命令可以代替netstat,但是现在的ss和以前的完全是两样 ,还是得装上才行方便查看端口占用和tcp链接攻击等等。把net-tools包装上就好了yum install net-tools另外centos7引入了systemctl对服务管理,这个的确还是没原来的service好使,php默认5.4, apache默认2.4,此外 Mariadb代替了mysql 现在来看从安装到内部的软件包来看rhl系列的系统已经和社区版的fedora是一个样子了
2014年07月26日
41 阅读
0 评论
0 点赞
2014-07-25
Fdisk划分硬盘创建Lvm
一、LVM简介LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用与用户分配存储空间。在LVM管理下的存储卷可以按需要随时改变大小与移除(可能需对文件系统工具进行升级)。LVM也允许按用户组对存储卷进行管理,允许管理员用更直观的名称(如"sales'、 'development')代替物理磁盘名(如'sda'、'sdb')来标识存储卷。如图所示LVM模型: 由四个磁盘分区可以组成一个很大的空间,然后在这些空间上划分一些逻辑分区,当一个逻辑分区的空间不够用的时候,可以从剩余空间上划分一些空间给空间不够用的分区使用。二、 LVM基本术语前面谈到,LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。首先我们讨论以下几个LVM术语:物理存储介质(The physical media):这里指系统的存储设备:硬盘,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元。物理卷(physical volume):物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。卷组(Volume Group):LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。逻辑卷(logical volume):LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。PE(physical extent):每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。LE(logical extent):逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。简单来说就是:PV:是物理的磁盘分区VG:LVM中的物理的磁盘分区,也就是PV,必须加入VG,可以将VG理解为一个仓库或者是几个大的硬盘。LV:也就是从VG中划分的逻辑分区如下图所示PV、VG、LV三者关系:三、 安装LVM 首先确定系统中是否安装了lvm工具: [root@www root]# rpm –qa|grep lvm lvm-1.0.3-4 如果命令结果输入类似于上例,那么说明系统已经安装了LVM管理工具;如果命令没有输出则说明没有安装LVM管理工具,则需要从网络下载或者从光盘装LVM rpm工具包。四、 创建和管理LVM要创建一个LVM系统,一般需要经过以下步骤: 1、 创建分区使用分区工具(如:fdisk等)创建LVM分区,方法和创建其他一般分区的方式是一样的,区别仅仅是LVM的分区类型为8e。如下列图所示:查看磁盘分区表使用fdisk创建分区,根据设备文件的绝对路径(/dev/hda)进入分区管理一定要指定分区的格式为8e,这是LVM的分区格式2、 创建PV 3、 创建VG创建完成VG之后,才能从VG中划分一个LV。4、 创建LV创建了一个名字为lvData,容量大小是100M的分区,其中:-L:指定LV的大小 -n:指定LV的名。Vo1Group00:表示从这个VG中划分LV;5、LV格式化及挂载下一步需要对LV进行格式化(使用mksf进行格式化操作),然后LV才能存储资料将格式化后的LV分区挂载到指定的目录下,就可以像普通目录一样存储数据了挂载之后,可以看到此LV的容量。如果要在系统启动的时候启动LV,最好是将lvData写入fstable 文件中,如下所示:使用Vim编辑器,打开/etc/fstab,在最后一行添加如图中所示,其中/dev/VolGroup00/lvData指定需要挂载的分区LV,/root/test指定要挂载的目录(挂载点),ext3分区文件系统格式,其它使用默认即可扩容当前分区一、首先创建一块新的分区:fdisk /dev/hdanl #选择逻辑分区,如果没有,则首先创建扩展分区,然后再添加逻辑分区(硬盘:最多四个分区P-P-P-P或P-P-P-E)6 #分区号(从5开始),/dev/hda6t 8e #分区类型8e表示LVM分区w #写入分区表partprobe #重读分区表mkfs –t ext3 /dev/hda6 #格式化partx /dev/hda #查看当前硬盘的分区表及使用情况二、创建PV,扩容VG,LVpvcreate /dev/hda6vgdisplay #查看当前已经存在的VG信息,以存在VG:VolGroup00为例vgextend VolGroup00 /dev/hda6 #扩展VolGroup00lvdisplay #查看已经存在的LV信息,以存在LV:LogVol01为例lvextend –L 1G /dev/VolGroup00/LogVol01 #扩展LVresize2fs /dev/VolGroup00/LogVol01 #执行该重设大小,对于当前正在使用的LogVol01有效df –h #查看挂载情况,已经扩容缩小LogVol01的大小lvresize -L 256M /dev/VolGroup00/LogVol01 WARNING: Reducing active logical volume to 256.00 MB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce home? [y/n]: y Reducing logical volume home to 256.00 MB Logical volume home successfully resized
2014年07月25日
39 阅读
0 评论
0 点赞
1
2
...
9