/opt/xenresources/patch-backup
每次系统升级后,都会有uuid留在这里,xenserver 通过检查这里的uuid来检测是否打了patch
/opt/xenresources/patch-backup
每次系统升级后,都会有uuid留在这里,xenserver 通过检查这里的uuid来检测是否打了patch
现在我的每台机器都安装了xenserver,但是xenserver 的升级确实是个问题,手动升级确实很恶心。
于是这就有了Darren Gibbard的自动升级程序,拿perl 写的,异常的方便.
code:
wget –no-check-certificate -O patcher.py https://raw.github.com/dalgibbard/citrix_xenserver_patcher/master/patcher.py
chmod +x patcher.py
./patcher.py
这是在搜索xenserver 的 SR 的问题的时候无意中找到的,很有帮助,对于我这种懒人来说
xe help –all|more
Show a list of XenServer CLI commands
xsconsole
Runs up the XenServer text based console
xe-toolstack-restart
Restarts the XenServer management tools
ls –l
List files in a Directory
less /var/log/dmesg
Display Boot Messages from Linux
xe host-dmesg
Xen Hypervisor Boot messages
tail –f /var/log/xensource.log
Look at xapi messages as they happen
tail –f /var/log/xensource.log | grep xxx
Look at xapi messages only for vm uuid xxx
tail –f [log name] > [target filename]
Send output to a file for analysis later
cat /etc/xensource-inventory
Display XenSource Inventory info
xen-bugtool –yes
Build a status report when xapi is down
xe-backup-metadata -d –u [uuid of SR]
Back up Pool metadata for all VMs
tcpdump –i [inf] –vvv –w [filename]
Get a Packet trace from [inf]. E.g. Inf=eth0, xenbr0, vif2.0 etc.
top
List the top processes running in Dom0
xentop
List top Xen processes
mpstat 5
Processor stats in Dom0
vmstat 2
Virtual memory in Dom0
netstat –s
Networking statistics
iostat -d 2 6
Storage traffic stats
list_domains
Lists VMs that are running
fdisk –l
List the disk partitions
hdparm –t /dev/sda3
Device read times for sda3 (normally local SR)
pvs
Show local and remote LVHD SRs
ll /dev/disks/by-id
Look at disk partitions
lvs
List logical volumes (virtual disks)
vgs
List LVM volume groups
cd /var/run/sr-mount
Look at NFS SRs
df -h
Shows how much disk space you have left
dd if=/dev/sdb of=/dev/null iflag=direct bs=1M count=512
Read data performance from sdb.
dd if=/dev/zero of=/dev/sdb oflag=direct bs=1M count=4096
Write performance on sdb. * Don’t use on disks with VMs on them!
ifconfig
Show info on NICs, virtual switches and vNICs
brctl show
Show info on virtual switches
ethtool eth0
Info for NIC eth0
mii-tool
Info on NIC bonding
iscsiadm -m discovery –type sendtargets –port 192.168.250.14
Discover iSCSI targets available to this server
iscsiadm –m session
Open iscsi sessions
history
Lists the history of commands you’ve used
!136
Executes command #136 in the history
history -w history-list.txt
Writes the history info to a text file
一晃,回国已经一个多月,现在已经充分的融到了天津这座全国最大的农村之中
现在最喜欢的事,就是早上在海河边上慢跑,右看河边的老大爷们钓鱼,左看马路上匆匆忙忙上班的人们,怡然自得
心也慢慢的静下来,享受生活
现在形成的习惯是,每个新的dedicated server 都会去安装xenserver,这样能够尽量充分利用这个服务器. 大部分时候都习惯自己去安装xenserver,顺便让xenserver自己初始化local storage repo. 可是如果xenserver 是由IDC 安装的话,那么80%的可能性是只会给你安装xenserver的程序,xenserver程序所在的硬盘的剩余空间,不会给你初始化成local storage repo,那么这个时候就需要我们自己来首先创建/dev/sda3, 然后把sda3初始化为local storage repo.
首先我们需要看下xenserver的基本架构. 假设我们xenserver安装在你sda上, 那么在sda上默认会有两个区, 分别是/dev/sda1, /dev/sda2. sda1变式xenserver程序所在的分区, sda2 和 sda1大小相等,都是5GB大小,是sda1 的备份镜像区. 假设这个sda 的大小为500GB, 那么刨除sda1和 sda2 以后,还有490GB 的空间,我们需要把这490GB 的空间创建为sda3,然后在sda3上创建local SR.
xenserver 从6.0 开始,默认使用GPT分区,也就是说单个分区可以达到2TB 以上. fdisk 命令是专门用于MBR分区的,对GPT分区不适用. 也就是说我们需要使用GPT分区的程序. 通过搜索,你会发现,大部分教程都是教你使用parted, 但是parted 程序较为复杂,而且xenserver 这个linux 发行版上默认没有安装parted. 那是因为xenserver 使用的是另外一个GPT分区的工具, gdisk.
gdisk 和 fdisk 的使用方式,命令参数一模一样,不同的是一个用于GPT分区,一个用于MBR 分区.
话不多说,通过gdisk 很快就创建/dev/sda3, 这里要注意的是, sda3需要创建成的文件格式是linux
LVM. 这里还需要说一句的是,既然fdisk 无用识别GPT,也因为无法使用fdisk 来查看磁盘分区。解决的办法有两个,一个是cat /proc/partitions; 另外一个就是sgdisk命令,类似于fdisk, 来查看分区情况。
创建好/dev/sda3以后,剩下的就简单多了,可以直接参见我写的这篇文章
http://www.webmasterschina.com/2014/10/19/116/
advertcn 在国内的电信节点本来是使用的nginx 的,可惜貌似实在有点问题,时断时续,可能是配置有点问题,无奈换回了squid
squid呢,0.1% 的可能性会因为这样或者那样的原因死机,于是就想加上一个monit 做自动监控
首先安装squid,十分的简单,直接yum install squid
其次,编辑/etc/monit.conf, 加入下面的命令
check process squid with pidfile /var/run/squid.pid
start program = “/etc/init.d/squid start”
stop program = “/etc/init.d/squid stop”
保存,然后monit -t 检查语法错误,如果没有问题了,就直接service monit start
因为目前V6 稍微有点小bug,会造成程序无规律的宕机,因此考虑安装monit 来监控mr9sm 主程序
安装
apt-get install monit
安装完毕,配置文件是
/etc/monit/monitrc
你可以在monitrc 上修改你的监测频率以及web 端口
在最下面添加(如果你用的是debian):
check process mr9sm with pidfile /var/run/mr9sm.pid
start program = “/usr/sbin/service mr9sm start”
stop program = “/usr/sbin/service mr9sm stop”
保存后运行monit -t 检查语法,如果没有问题,直接monit restart既可以
online.net 的服务器比较便宜,我也入手了一个做开发
但是他们使用的是failover IP,比较烦人。对于failover 的IP的配置,应该是这样
IPADDR: 你的failover IP
NETMASK: 255.255.255.255
GATEWAY: 把你的主IP 的最后一位改为1 即可
这是在centos 上的设置,用netinstall 可能会有问题。 这个时候再netinstall 的时候, 选用255.255.0.0 位netmask,主IP的最后一位改成1的IP为gateway 的IP
这样就让failover IP 和 gateway IP 在同一个IP段,这样就可以进行安装了。
等安装完毕以后,再改回原来上面的样子,然后在按照下面所说来添加IP route
但是安装完重启就不行了,这是因为ipaddr 和你的gateway 的IP 不在一个subnet上,你需要手工添加一条静态路由
假如说你用的是eth0,那么你就需要给eth0 添加一条静态路由:
File : /etc/sysconfig/network-scripts/route-eth0
GATEWAY_VM dev eth0
default via GATEWAY_VM dev eth0
然后重启
service network restart,这样你的IP 就可以被外界所访问了.
这是在你的 VM 上只有一个IP的,如果你有多个IP的时候,这个和普通的centos 一样,添加多个IP,但是当你在重启network 的时候,会发现centos 总是说:
Bringing up interface eth0: SIOCADDRT: No such process
这是因为系统在强制给你的 ip aliase 添加默认路由,其实这是不需要的了,因为已经添加在你的VM 的主 IP 上
这个时候你可以在ifcfg-eth0 上禁止向ip aliase 添加路由:
NO_ALIASROUTING=yes
如果你安装的是debian,那么就更简单了,编辑/etc/network/interfaces
修改如下即可:
auto eth0
iface eth0 inet static
address IP-Failover
netmask 255.255.255.255
broadcast IP-Failover
gateway MAIN-SERVER-IP.1
pointopoint MAIN-SERVER-IP.1
然后退出,运行service networking restart 即可
现在很多米国的机房都在使用cisco 的路由,禁止流量从不属于自己的ip space 中流出自己的network,这就给GRE tunnel 造成了很大的不变。
但是也不是没有解决办法,这就是source based routing。
分为三步:
1) 加个路由表
2) 让tunnel 过来的 IP 使用新家的路由表
3) 给新加的路由表添加一个默认的gateway就可以了,这样通过tunnel 过来的IP 就可以按照原路返回
code:
1) echo ‘100 GRE’ >> /etc/iproute2/rt_tables
2) ip rule add from 198.255.255.0/24 table GRE
这里认为你把整个c段198.255.255.0/24 tunnel 到你现在的这台机器上
3) ip route add default via 192.168.1.1 table GRE
让这个新的IP 段使用192.168.1.1的 gateway,按照原来返回
如果你是直接用yum 安装,就不需要考虑这个问题。但是yum 安装的话,你是无法进行添加模块的。当你从source 直接编译安装的时候,就需要考虑这个问题:nginx 随系统自动启动。
首先,关掉正在运行的nginx:
kill `cat /usr/local/nginx/logs/nginx.pid`