Press "Enter" to skip to content

Month: May 2014

LVM逻辑卷镜像实现方法

本文演示了在CentOS5系统中实现LVM逻辑卷镜像的方法。LVM的镜像功能,有点儿类似于Raid1,即多块儿磁盘互相同步,确保资料不会丢失。

创建物理卷,卷组的步骤这里就先省略了,网上大把的教程。本文的过程如下:
1,创建4个物理卷/dev/sda1、/dev/sda2、/dev/sda3、/dev/sda4,并且将sda1-sda3三个物理卷加入到卷组vg1中,并在卷组vg1中创建包含镜像功能的逻辑卷lv1;
2,使用dd命令对物理卷sda2进行破坏,然后从卷组中发现sda2挂了,但确认文件读取正常;
3,(在不解除挂载的情况下)去除坏掉的物理卷sda2,向卷组中加入新的物理卷sda4代替之;
4,确认LVM镜像功能正常,以及文件读取正常。

创建一个包含镜像功能的逻辑卷(命名为lv1):

[root@OS ~]# lvcreate -L 3G -m1 -n lv1 vg1 /dev/sda1 /dev/sda2 /dev/sda3
  Logical volume "lv1" created

[root@OS ~]# lvs -a -o +devices
  LV             VG   Attr   LSize Origin Snap%  Move Log      Copy%  Convert Devices                        
  lv1            vg1  mwi-a- 3.00G                    lv1_mlog   5.34         lv1_mimage_0(0),lv1_mimage_1(0)
  [lv1_mimage_0] vg1  Iwi-ao 3.00G                                            /dev/sda3(0)                   
  [lv1_mimage_1] vg1  Iwi-ao 3.00G                                            /dev/sda2(0)                   
  [lv1_mlog]     vg1  lwi-ao 4.00M                                            /dev/sda1(0)

LVM镜像需要用到-m1参数,从上面可以看出,/dev/sda2和/dev/sda3互为镜像,而/dev/sda1作为日志存储之用。

Leave a Comment

Chrome 修改 User Agent

公司的网管疯了,要使用网络必须安装一款名为“ASM小助手”的极度流氓的无耻软件,被这款无耻软件强奸以后,假如没有安装杀软,或者杀软没有更新到最新,或者没有更新系统补丁等,都会导致无法上网。

后经研究发现,只有Windows系统在连网时会要求下载小助手,Linux和安卓并不会强制要求下载,看来天朝的流氓公司也不是万能的啊(只能强奸Windows,却拿Android、MAC OS、Linux没办法),于是……

本来修改 User Agent 这种事情应该交由插件去实现的,没想到装了一个使用数量最大的插件以后居然无效。于是只好手动改了。其实很简单,只要给 Chrome 添加一个参数启动就可以了。见下图,添加完成以后需要重启 Chrome 才会生效

给出一些常见的 User Agent:

--user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:28.0) Gecko/20100101 Firefox/28.0"
--user-agent="Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0"

更多 User Agent 可以参考:http://www.useragentstring.com/pages/useragentstring.php

查看浏览器的User Agent:

http://www.enhanceie.com/ua.aspx
http://www.useragentstring.com/
http://whatsmyuseragent.com/

2 Comments

linux rpm包编译过程(spec文件和spec宏 )

spec文件是整个RPM包建立过程的中心,它的作用就如同编译程序时的Makefile文件。spec文件包含建立一个RPM包必需的信息,包括哪些文件是包的一部分以及它们安装在哪个目录下。这个文件一般分为如下的几节:

1,Preamle(序言)

序 言包含用户请求包的信息时所显示的内容。它可以包含包的功能描述、包的软件版本、版权信息和所属的包组等。Summary 是一行关于该软件包的描述,Name 是该软件包的基名,Version 是该软件的版本号,Release 是 RPM 本身的版本号,如果修复了 spec 文件中的一个错误并发布了该软件同一版本的新 RPM,就应该增加发行版号。License 应该给出一些许可术语(如:”GPL”、”Commercial”、”Shareware”),Group 标识软件类型。那些试图帮助人们管理 RPM 的程序通常按照组列出 RPM。您可以在usr/share/doc/rpm-4.0.4/GROUPS 文件看到一个 Red Hat 使用的组列表(假设您安装的 RPM 版本是 4.0.4)。但是您还可以使用那些组名以外的名称。Source0、Source1等等给这些源文件命名(通常为 tar.gz 文件)。%{name} 和 %{version} 是 RPM 宏,它们扩展成为头中定义的 rpm 名称和版本。

要注意的是,不要在 Source 语句中包含任何路径。缺省情况下,RPM 会在 /usr/src/redhat/SOURCES 中(对于Redhat6 系统,则是在 /root/rpmbuild/SOURCES 目录中)寻找文件,请将您的源文件复制或链接到那里。(要使 spec 文件尽量可移植的话,应当尽量避免嵌入自己开发机器上的假想路径。其他开发人员就可以指示 RPM 在别的目录下查找源文件,而不用修改您的 spec 文件。)

接下来的部分从 %description 行开始。您应该在这里提供该软件更多的描述,这样任何人使用 rpm -qi 查询您的软件包时都可以看到它。您可以解释这个软件包做什么,描述任何警告或附加的配置指令,等等。

一个序言的简单例子:

Leave a Comment

Windows DHCP无法获取IP

近日遇到一Windows7系统通过DHCP无法获取IP的怪事,通过万能的百度解决了问题,简要记录一下。

通过DHCP无法获取IP的原因:本地或者网络内有(除了路由器以外的)其它DHCP服务器!

1,本机DHCP服务是否打开?(运行services.msc,找到“DHCP Client”服务,确认状态为“已启动”)

2,ARP攻击(要排除其实也很简单,手动设置IP不会掉线,说明就没有ARP攻击)

3,检查本地或者网络内的其它DHCP服务器(最大可能性)
本地:如果安装了VMware虚拟机,需要关闭“VMware DHCP Service”服务(这是博主遇到的情况,不光搞的博主自己获取不了IP,甚至干扰了网络内其它用户,真是羞死个人,亏博主还自称技术大牛,竟被一VMware坑了);
网络:排查也很简单,“非法”的DHCP服务器肯定是跟你在同一个网络内,并且你们能够互相通信,可能是某个客户端私接了一台路由器,又或者是搭建在某个电脑上的DHCP服务器,例如某个网络内有个童鞋正在学习搭建DHCP服务器,或者安装了VMware软件,都有可能干扰到你。

Leave a Comment