分类归档: Linux

虚拟机硬盘空间增加方法QEMU(QCOW) LVM

# 先停止虚拟机
virsh stop test-server-1
# 修改磁盘镜像大小
qemu-img resize test-server-data +100G
# 进入虚拟机后pvresize
pvresize -v /dev/vdb
# 扩展lv空间
lvextend -l +100%FREE /dev/mapper/vgdata-data
# 调整文件系统大小,这里是ext4的文件系统,用resize2fs,在此之前还需要先执行e2fsck
e2fsck -f /dev/mapper/vgdata-data
resize2fs /dev/mapper/vgdata-data
# 最后挂载磁盘
mount -a

完成

Read: 240

Docker在Mac下挂在/Users之外的目录

Docker在Mac下是在VirtualBox虚拟机中运行的。VirtualBox是用共享的形式把宿主机的目录暴露给docker的container,因为默认只挂载了/Users目录,所以Docker的Data Volume都只能mount到/Users目录下面的东西。

Kitematic中的提示

Invalid directory. Volume directories must be under your Users directory

解决办法

  1. 修改VirtualBox的设置,给Docker虚拟机添加共享目录
  2. 修改Docker虚拟机设置,使其能自动自动挂载共享目录

注意:Kitematic中是禁止添加/Users以外的目录的,所以要通过docker命令来创建container才能挂载到我们增加的新目录。

操作步骤

先打开VirtualBox的管理界面,找到Docker的虚拟机(默认是default),进入设置。
在Shared Folders中添加你希望在Docker虚拟机中挂载的宿主机目录。
如:把宿主机的/workspace目录共享为www

docker-machine ssh default
cd /var/lib/boot2docker/
sudo vi bootlocal.sh #文件内容在后面,这个文件启动时会被自动执行
sudo chmod u+x bootlocal.sh
sudo reboot

bootlocal.sh

#!/bin/sh
mkdir -p /www
mount -t vboxsf /www /www

挂载示例

docker run --name nginx -P -v /workspace/www:/usr/share/nginx/html -v /workspace/nginx/default.conf:/etc/nginx/conf.d/default.conf nginx

参考链接

http://stackoverflow.com/questions/24212228/boot2docker-on-mac-accessing-local-files/29983253#29983253

Read: 2332

CentOS + Cacti 集中监控服务器 (笔记)

Cacti官方网站

官方文档——Installing Under Unix

Percona Monitoring Plugins (Plugins for Cacti)
Percona 为我们提供了很多包括linux,apache,mysql,redis,nginx等等常见服务的监控模板非常方便。
下载地址 | 官方文档

监控机配置
1. 下载Cacti
2. 解压到wwwroot目录(cacti默认URL是/cacti,不想改配置就同样解压到www/cacti好了)
3. 配置web服务(注意屏蔽cli目录访问)
4. 编译安装PHP SNMP扩展
5. 安装SNMP服务

yum install net-snmp net-snmp-libs net-snmp-utils

如何安装PHP SNMP扩展
进入PHP源代码目录下的ext/snmp目录,执行以下命令

phpize
./configure
make && make install

6. 修改cacti/include/config.php 配置mysql连接参数
7. 导入cacti.sql
8. 访问http://服务器地址/cati 开始安装

被监控机配置
1. 配置防火墙(打开UDP 161端口,其他端口根据需要打开)
对于运行在网络上的服务器来说对外开发的端口自然是越少越好,可能的话最好只对内部网络开放SNMP服务。
其他端口根据需要选择开放。
在/etc/sysconfig/iptables添加

-A INPUT -p udp -m state --state NEW -m udp -s 允许访问的IP --dport 161 -j ACCEPT

2. 安装SNMP服务

yum install net-snmp net-snmp-libs net-snmp-utils
service snmpd start

其他注意事项:
1. Percona的提供的脚本很多监控项目是通过ssh连接到远程服务器上,所以需要监控机有访问被监控机的权限,在Percona的脚本里是通过ssh密钥登陆的。
2. Percona默认访问的Nginx统计地址是/server-status,可以在cacti的data source里改或者偷懒直接改scripts/ss_get_by_ssh.php。
3. Percona为每种服务都提供了Host模板,在创建Host之后可以通过多次更改Host Template来合并不同的图表模板。当然,还是都分开比较好一点,都在一起太多了,乱。

待续。。。

Read: 1241

CentOS 6.4 openvpn服务器搭建笔记

OpenVPN 源代码、安装包下载地址

官方安装手册

官方easy-rsa3 github

1. 安装openvpn、easy-rsa
yum install openvpn easy-rsa

easy-rsa是生成秘钥用的一系列脚本集合。openvpn2.3版之后程序包里不再捆绑,需要单独安装,官方2.3版本的easy-rsa3改动比较
大,网上也很少有用easy-rsa3的文章,为了避免麻烦,直接装源里的easy-rsa就好了。

easy-rsa默认安装在/usr/share/easy-rsa/2.0/,为了方便我复制了一份到/etc/openvpn下面

cp -R /usr/share/easy-rsa/2.0 /etc/openvpn/easyrsa

2. 生成证书、秘钥

. ./vars
./build-key-server server
./build-key client

3. 配置openvpn

4. 配置iptables
#开启路由转发
echo 1 > /proc/sys/net/ipv4/ip_forward
# 使用NAT 让vpn客户端可以通过vpn服务器的私网IP 192.168.1.101 访问服务端私网内其他机器
-A POSTROUTING -s 10.8.0.0/24 -j SNAT –to-source 192.168.1.101

配置路由表
route add -net 192.168.1.0/24 dev eth1
route add -net default gw 192.168.1.1
etc. 使用 用户名/密码 验证的方法

参考文章:
《OpenVPN服务器配置》

《配置OpenVPN使用User/Pass方式验证登录》

《Iptables之FORWARD转发链》

《OpenVPN 2.0 HOWTO-局域网互访(翻译)》

《OpenVPN服务端架设配置说明》 (图文手册,简单明了)

Read: 280