手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2012年10月16日的文章

笔记:为虚拟机再挂载一块虚拟硬盘

原来的虚拟机只分配了8G空间,用啊用啊的就满了。怎么办?
于是想过挂载硬盘,但是不太会弄,今天在hover(http://www.hoverlees.com/blog/)的帮助下,搞定了。

1、fdisk -l,看看挂载进来的硬件是什么?

XML/HTML代码
  1. Disk /dev/sda: 8589 MB, 8589935104 bytes  
  2. 255 heads, 63 sectors/track, 1044 cylinders, total 16777217 sectors  
  3. Units = sectors of 1 * 512512 = 512 bytes  
  4. Sector size (logical/physical): 512 bytes / 512 bytes  
  5. I/O size (minimum/optimal): 512 bytes / 512 bytes  
  6. Disk identifier: 0x0006642a  
  7.   
  8.    Device Boot      Start         End      Blocks   Id  System  
  9. /dev/sda1   *        2048      499711      248832   83  Linux  
  10. /dev/sda2          501758    16775167     8136705    5  Extended  
  11. /dev/sda5          501760    16775167     8136704   8e  Linux LVM  
  12.   
  13. Disk /dev/sdb: 25.8 GB, 25769803776 bytes  
  14. 255 heads, 63 sectors/track, 3133 cylinders, total 50331648 sectors  
  15. Units = sectors of 1 * 512512 = 512 bytes  
  16. Sector size (logical/physical): 512 bytes / 512 bytes  
  17. I/O size (minimum/optimal): 512 bytes / 512 bytes  
  18. Disk identifier: 0x00000000  
  19.   
  20. Disk /dev/sdb doesn't contain a valid partition table  
  21.   
  22. Disk /dev/mapper/webserver-root: 7763 MB, 7763656704 bytes  
  23. 255 heads, 63 sectors/track, 943 cylinders, total 15163392 sectors  
  24. Units = sectors of 1 * 512512 = 512 bytes  
  25. Sector size (logical/physical): 512 bytes / 512 bytes  
  26. I/O size (minimum/optimal): 512 bytes / 512 bytes  
  27. Disk identifier: 0x00000000  
  28.   
  29. Disk /dev/mapper/webserver-root doesn't contain a valid partition table  
  30.   
  31. Disk /dev/mapper/webserver-swap_1: 532 MB, 532676608 bytes  
  32. 255 heads, 63 sectors/track, 64 cylinders, total 1040384 sectors  
  33. Units = sectors of 1 * 512512 = 512 bytes  
  34. Sector size (logical/physical): 512 bytes / 512 bytes  
  35. I/O size (minimum/optimal): 512 bytes / 512 bytes  
  36. Disk identifier: 0x00000000  
  37.   
  38. Disk /dev/mapper/webserver-swap_1 doesn't contain a valid partition table  



2、将上面的红色部分的设备先格式化成某一类型的盘,输入:“mkfs.” 然后按TAB,出现:
mkfs.ext2     mkfs.ext3     mkfs.ext4     mkfs.ext4dev 
为了更通用一点,我还是用了Ext3,所以我后来输入:mkfs.ext3 /dev/sdb1,返回:

XML/HTML代码
  1. mke2fs 1.41.14 (22-Dec-2010)  
  2. Filesystem label=  
  3. OS type: Linux  
  4. Block size=4096 (log=2)  
  5. Fragment size=4096 (log=2)  
  6. Stride=0 blocks, Stripe width=0 blocks  
  7. 1572864 inodes, 6291200 blocks  
  8. 314560 blocks (5.00%) reserved for the super user  
  9. First data block=0  
  10. Maximum filesystem blocks=0  
  11. 192 block groups  
  12. 32768 blocks per group, 32768 fragments per group  
  13. 8192 inodes per group  
  14. Superblock backups stored on blocks:  
  15.     32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,  
  16.     4096000  
  17.   
  18. Writing inode tables: done                             
  19. Creating journal (32768 blocks): done  
  20. Writing superblocks and filesystem accounting information: done  
  21.   
  22. This filesystem will be automatically checked every 32 mounts or  
  23. 180 days, whichever comes first.  Use tune2fs -c or -i to override.  

3、mount到一个目录下,

XML/HTML代码
  1. root@webserver:/mnt# mount /dev/sdb1 /mnt  

4、然后df看一下结果:

XML/HTML代码
  1. root@webserver:/mnt# df   
  2. Filesystem           1K-blocks      Used Available Use% Mounted on  
  3. /dev/mapper/webserver-root  
  4.                        7462608   4930416   2153108  70% /  
  5. udev                    246512         4    246508   1% /dev  
  6. tmpfs                   101524       576    100948   1% /run  
  7. none                      5120         0      5120   0% /run/lock  
  8. none                    253808         0    253808   0% /run/shm  
  9. /dev/sda1               233191    154710     66040  71% /boot  
  10. /dev/sdb1             24769916    176196  23335480   1% /mnt  

一切就这样的完成了。
做个笔记。。。

成功利用apache对内容进行替换[更新]

说是成功了,但其实最终我还是通过PHP来实现的,因为遇到的问题是对方是gzip后的数据,无法直接替换,只能用php先将gzip的内容解压开,替换完后再gzip输出。
头疼。

参考:apache的mod_ext_filter,这个是功能比较强悍的替换模块了
nginx下当然也有更好的。不过因为我的服务器目前用的是apache。而且我习惯了用apache的一些配置,一下子要换到nginx不太习惯。
以后慢慢考虑吧。

---------

如果用PHP做,有些网站的gzip无法用:gzuncompress,gzinflate,gzdecode解压的。
可以用这个函数:http://www.jb51.net/article/15262.htm,原网站没有格式化,所以我格式化了一下:

PHP代码
  1. function gzdecode2($data) {  
  2.     $flags = ord(substr($data, 3, 1));  
  3.     $headerlen = 10;  
  4.     $extralen = 0;  
  5.     $filenamelen = 0;  
  6.     if ($flags & 4) {  
  7.         $extralen = unpack('v'substr($data, 10, 2));  
  8.         $extralen = $extralen[1];  
  9.         $headerlen += 2 + $extralen;  
  10.     }  
  11.     if ($flags & 8) // Filename  
  12.     {  
  13.         $headerlen = strpos($datachr(0), $headerlen) + 1;  
  14.     }  
  15.     if ($flags & 16) // Comment  
  16.     {  
  17.         $headerlen = strpos($datachr(0), $headerlen) + 1;  
  18.     }  
  19.     if ($flags & 2) // CRC at end of file  
  20.     {  
  21.         $headerlen += 2;  
  22.     }  
  23.     $unpacked = @gzinflate(substr($data$headerlen));  
  24.     if ($unpacked === FALSE) {  
  25.         $unpacked = $data;  
  26.     }  
  27.     return $unpacked;  
  28. }  
这回就可以了。。。

 

安装VPN。。。debian / centos

说实话,xen和openVZ安装VPN我真的不是特别了解 ,以前只知道openVZ默认不能装,因为没有ppp和tun设备,但即使有了ppp和tun设备 后,其实,iptables的NAT转发也不是每台机器 都支持。
我在cloud3k上的VPS后台里可以安装ppp和tun设备 ,但安装后无效,发了一个TK给客服,客服说是开通了NAT转发。然后就OK了。
但网上的一些教程中的iptables其实都不能用。因为那句: /sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE,其实是针对xen的VPS的。openVZ根本 就没有MASQUERADE这类的用法,而且。。。eth0,在openVZ上都没有。只有venet0。所以,我又找了一些资料,比如 :
1、http://qiaodahai.com/personal/article/2012/centos-6-pptpd-one-key-installation.htm
2、服务器架设:PPTPD VPN一键安装包 For CentOS 5
3、BuyVM OpenVZ VPS Debian安装PPTP VPN

其实现在网上有openVZ的一键安装包,我这里就不多介绍了,google一下或者百度一下,N多。
安装完后就三个功能
1、安装pptpd服务
2、修复pptpd服务
3、设置帐号
非常方便。但设置帐号后一定要去chep-secrets文件里看一下,理论上是可能有一个所谓的默认帐户存在的。注意删除一下。

Tags: vps, vpn, openvz, debian, centos