OpenStack havana libguestfs 问题

ubuntu 12.04
如果遇到libguestfs (cannot find any suitable libguestfs supermin or ordinary appliance on LIBGUESTFS_PATH (search path: /usr/lib/guestfs)问题
是由于一个bug导致libguestfs的
目前可行的方法是升级….悲

如有注入(inject)文件操作时遇到下面的错误
Error mounting /var/lib/nova/instances/XXX/disk with libguestfs (could not parse /etc/fstab or empty file))
这也是由于一个bug引起的,
可通过下面的方法回避
修改/etc/nova/nova.conf里的libvirt_inject_partition的默认值(-1自动检测)为固定值1
libvirt_inject_partition=1
(当然这种改法将影响所有的用户,是不公平的)

发表在 知识积累 | OpenStack havana libguestfs 问题已关闭评论

OpenStack havana 网络通讯问题

OpenStack havana 网络通讯的设置,经常出现问题。
我曾以因为以下两个配置的问题,
导致虚拟机外网可以跟IP同一网段的物理机通讯,
跨网段出现不通的情况。
1,在网络结点iptables将网卡的输出,做了MASQUERADE导致IP在外部识别不到。
iptables -t nat -I POSTROUTING 1 -j MASQUERADE
2,网络结点的桥接网卡没有设为混杂模式,导致来的通讯包被丢弃。
如下,此时网卡eth2的promisc(网卡的混杂模式) 要设为on
#ovs-vsctl add-port br-ex eth2
auto eth2
iface eth2 inet manual
up ifconfig $IFACE 0.0.0.0 up
up ip link set $IFACE promisc on
down ip link set $IFACE promisc off
down ifconfig $IFACE down

发表在 OpenStack开源云 | OpenStack havana 网络通讯问题已关闭评论

如何在 CentOS 7 上安装 Docker

如何在 CentOS 7 上安装 Docker
1、使yum的CentOS-Extras配置生效
文件CentOS-Base.repo中enabled的値从0变成1

vim /etc/yum.repos.d/CentOS-Base.repo
[extras]
name=CentOS-$releasever – Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1 ★ 値从0变成1
※Docker is included by default in the CentOS-Extras repository

2、执行yum 安装
# yum install docker

3、Docker启动
# systemctl start docker

发表在 docker | 如何在 CentOS 7 上安装 Docker已关闭评论

搭建自己的NTP时间服务器

NTP的配置文件主要项目解释:
/etc/ntp.conf NTP服务的配置文件。
1)、权限的设定主要以 restrict 这个参数来设定,主要的语法为:
restrict IP地址 mask 子网掩码 参数
其中 IP 可以是IP地址,也可以是 default ,default 就是指所有的IP
参数有以下几个:
ignore :关闭所有的 NTP 联机服务
nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网
noquery :不提供客户端的时间查询
2)、用server这个参数设定上级时间服务器,语法为:
server IP地址或域名 [prefer]
IP地址或域名就是我们指定的上级时间服务器,如果 Server 参数最后加上 prefer,表示我们的 NTP 服务器主要以该部主机时间进行校准。
3)、解决NTP服务器校准时间时的传送延迟
使用driftfile参数设置:
driftfile 文件名
在与上级时间服务器联系时所花费的时间,记录在driftfile参数后面的文件内。
注意: driftfile 后面接的文件需要使用完整的路径文件名,不能是链接文件,并且文件的权限需要设定成 ntpd守护进程可以写入。

/usr/share/zoneinfo/ 这个目录下存放的是各个时区对应的设定文件。
/etc/localtime 本地系统时间设定文件。
/etc/sysconfig/clock 本机时区设定文件。
当我们修改了上图中ZONE选项中的时区时,系统就对去/usr/share/zoneinfo/取对应的时区设定文件,复制为本地/etc/localtime。

相关命令:
date 修改和显示日期和时间的命令。
hwclock 将当前系统时间写入CMOS的命令,只有root用户才可以使用。
ntpd NTP服务的守护进程文件,需要先启动它才能提供NTP服务。
ntpdate 客户端时间同步

NTP配置文件例

# vi /etc/ntp.conf

#========权限控制============
restrict default kod nomodify notrap nopeer noquery 拒绝IPV4用户
restrict -6 default kod nomodify notrap nopeer noquery 拒绝IPV6用户
restrict 210.72.145.44 授权国家授时中心服务器访问本地NTP
restrict 133.100.11.8 授权133.100.11.8访问本地NTP
restrict 127.0.0.1
restrict -6 ::1
restrict 192.168.100.0 mask 255.255.255.0 nomodify 本地网段授权访问
#=========源服务器===========
server 210.72.145.44 prefer 指定上级更新时间服务器,优先使用这个地址
server 133.100.11.8
****如果想用自己的时间作为最上级的时间服务器这里的server 可以写成127.127.1.0
server 127.127.1.0 ##注意127.127.1.0不要写成127.0.0.1
#=========差异分析===========
driftfile /var/lib/ntp/drift
keys /etc/ntp/keys

# service ntpd start RPM和YUM安装的启动方式

#/usr/local/ntp/bin/ntpd -c /etc/ntp.conf -p /tmp/ntpd.pid 源码编译安装的启动方式

ntpd启动后,客户机要等几分钟再与其进行时间同步,
否则会提示“no server suitable for synchronization found”错误。
# netstat -tlunp | grep ntp 如果看到123端口,说明ntp服务成功启动。
# ntpq –p 查看本地NTP与上级服务器的通讯情况
几分钟后如果还是出现ntp的错误 no server suitable for synchronization found
可在ntp客户端用ntpdate –d serverIP查看,发现有“Server dropped: strata too high”的错误,并且显示“stratum 16”。而正常情况下stratum这个值得范围是“0~15”。
这是因为NTP server还没有和其自身或者它的server同步上。

发表在 知识积累 | 一条评论

在Eclipse中如何设置使用代理下载软件 Eclipse 4.4 Luna

大家都知道Eclipse代理的配置在
窗口 >首选项 >常归 > 网络连接 这里设置。
这里有三个选项 直接(不使用代理),手工(手工设置),本地化(使用系统「ie」设置)
如果代理不需要用户名密码,那么这里选择本地化,让eclipse直接使用系统代理是个不错的选择。
如果代理需要用户名密码就不能选这项了,因为eclipse不会像IE那样弹出窗口让你输入用户名密码。
所以在这里只能选择手工,单独配置
分别在http,https两个项目中输入代理服务器的IP,端口,用户名和密码
由于现在国内一般的代理都不在支持socks代理
所以这一项一定要清楚掉,
要不然得不到你想要的效果。

发表在 编程工具 | 在Eclipse中如何设置使用代理下载软件 Eclipse 4.4 Luna已关闭评论

BIND服务问题解决步骤

DNS服务BIND的配置方面,网上有很多,在此就不多写了,通常是我们还关心的是问题如何定位与解决。
下面的步骤基本通用,但是出于描述方面,我操作命令以CENTOS6为例
1,我们首从BIND服务器着手,
我们先需要了解一些基本信息,
服务器的操作系统内核版(uname -a),
BIND的版本(named -V),BIND的配置文件(/etc/named.conf,/etc/sysconfig/named)
启动脚本(/etc/init.d/named)
从上述的配置文件中我们除了要了解一些基本信息之后,还有最重的一点是要看到named的日志文件写向何处。
例如,我的/etc/named.conf里有如下的描述片断
directory “/var/named”;
logging {
channel default_debug {
file “data/named.run” versions 60 size 10M;
severity dynamic
/etc/sysconfig/named
有如下的描述片断
ROOTDIR=/var/named/chroot
可以推测我的log文件位于 /var/named/chroot/var/named/data/ 文件名为named.run
接下来进入正题,启动named服务 service named start
如果服务启动正常,我们就进一步测试,
如果不正常,我们看屏幕的输出信息,然后再返回值(echo $?),最后看一下日志的内容。
假设现已正学启动,我们接下来测试一下,我的名字解悉是否成功。
例如,我的/etc/named.conf里有如下的描述片断
listen-on port 53 {158.199.142.123;127.0.0.1;192.168.28.1;};
zone “lihaitao.cn” in {
type master;
file “zonedb/lihaitao.cn.db”;
};
zonedb/lihaitao.cn.db里有如下片断
test.lihaitao.cn. IN A 158.199.142.123
先测试一下服务是127.0.0.1生效 命令与结果如下
dig @127.0.0.1 test.lihaitao.cn

; < <>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 < <>> @127.0.0.1 test.lihaitao.cn
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43234 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;test.lihaitao.cn. IN A ;; ANSWER SECTION: test.lihaitao.cn. 10800 IN A 158.199.142.123 ;; AUTHORITY SECTION: lihaitao.cn. 10800 IN NS dns.lihaitao.cn. lihaitao.cn. 10800 IN NS dns1.lihaitao.cn. ;; ADDITIONAL SECTION: dns.lihaitao.cn. 10800 IN A 158.199.142.123 dns1.lihaitao.cn. 10800 IN A 158.199.142.123 ;; Query time: 55 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Sun Jul 6 14:22:22 2014 ;; MSG SIZE rcvd: 119 其中的;; ANSWER SECTION: test.lihaitao.cn. 10800 IN A 158.199.142.123 表明我的配置生效了,named服务正常启动了。

发表在 BIND | BIND服务问题解决步骤已关闭评论