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

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

原来的虚拟机只分配了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

二手商品出售

多年以来,慢慢慢慢集成了N多的工手商品,有兴趣的朋友可以向我购买,(所有商品均可小刀)

1、nook2 ,可触摸的电子书(可刷android系统),我买的时候 1200,实际使用时间不超过24小时,要说成色嘛,还算新吧。。。现在嘛 ,明显不要这个价了,可以看淘宝价后再小刀我【已出】

2、蓝牙键盘,本以为是一个很大的键盘,可以让电脑用的,结果。买回来才发现是IPAD和iphone用的。纠结
http://item.51buy.com/item-202961.html ,购买时间2012-06-28
【已出】

3、HP 5510(hp的瘦客户端),可以用来玩的,装的是winCE,可以直接运行。耗电量不高,但我好象没电源了。所以。。。

4、福珑电脑,龙芯第一代,内存加过,如果你有兴趣玩玩这个系统倒是可以的,当年,我买了1800,现在嘛 ,你懂的。都4年过去了。。。。如果你怀旧,可以考虑

5、家中的沙发(这个只限上海地区,可当床,原来是为了新房入住的时候买的,当年买的时候750,不过已经N年了,也没有好好的用过它),如果你有兴趣,可以大刀,但需自提。。

6、对了,还有gameboy advance,有两盘卡带,恶魔城+KOF,这么多年没用,好象卡带有问题了。当年买了600,现在嘛。黑黑。。。而且GA居然是没有夜光屏的,如果你对旧机有收藏,可以考虑。同1一样,实际使用时间不超过50小时,算是一个比较纠结的东西。

其实还有好多,一下子想不起来了都。。有兴趣可以直接留言啊。哈哈

-------

2012-12-11新增:

1、iphone/ipad 的蓝牙上网设备(类似苹果皮,不过它是蓝牙的。可以插双卡),使用时需越狱。当时淘宝买的时候300多。现在嘛,其实价格没大跌,如果有兴趣玩的人倒是可以收。因为我升到6.0.1不太想越狱了。而且现在也花钱买了很多正版的软件。越狱不太想了。正规点

thinkinlamp 数据库大会

归到数据库分类实在让我有点汗颜,毕竟这只是一个聚会性质的交流。并非真的就是与数据库相关,但内容因为还是涉及到了数据库,所以。。。归到这里吧。

这次大会去的比较晚了,因为小朋友的屁股上发了点东西(俗语:风疹块),所以本来是考虑不去的,但因为三件事,我还是去了:1、小朋友的屁股上用了以前的药,好了很多,几乎没了;2、票子送不掉,很多人一听是早上8点到场,都大义懔然的放弃了;3、锅巴引诱我,说是给我准备了特别的礼物

意外:意外在这里看到了前前同事,余老板,原来,她还在篱笆网,她笑称自己是钉子户,其实我是真的挺佩服她,能在国内一家互联网公司做超过5年,并不是一件容易的事情。

废话说了那么多,现在就让我们开始吧。
因为去的晚,所以对数据库与SSD的存储没有听到多少,但说白了,听了对我也没多大用处,小公司吧,用不上这些,大公司吧,可挑选的余地又太大,如果求稳,就研究不了新技术 ,如果求新技术 ,却又不能保证一定稳定,象网易,在云阅读上就用了SSD的硬件,我想他在备份上面的代价会是多少呢?小公司真的烧不起这个钱啊,虽然说混合应用的SSD+SATA的盘1T也才1000左右,但我们没那么多机房来折腾,也不会有dell公司的人来帮忙维护和技术支持,我们不是VIP用户啊,亲

第二个演讲的又是让我很郁闷的,虽然我在事前其实也很想知道这一块的东西,legenddb,类似于mysql proxy或者说mysqlcluster的工具,他们确实走在了我们的前面,但对应用型 的公司来说,没人敢用就是一个很大的问题。你没有完整的技术支持,不能保证后续的服务,出了BUG,你不能在很快响应。国内很多公司选择了mysql,有很大一部分原因在于,mysql社区版是开源的,所以可以有针对性的对它进行修改。如果你legend开源了,你还能走多久?legenddb,老谭也在台上说了,目前在某些join查询上效率还不是很高。而legenddb最大的功能其实就是用来做分布式数据库,并且通过timeline来做数据同步等(为了一致,每台服务器还必须得精准校验时间,否则可能会出问题,即数据出错),有兴趣的朋友可以上他们的网站上看看:http://www.mysqlab.net/,我感兴趣的原因是,它们说他们的软件是基于go开发的,黑黑

第三位演讲的是支付宝的朋友。讲了一个数据库的架构方面的设计,即又要保证ACID,还得让CAP这个标准也能够相对较好的应用。什么时候选择ACP,什么时候选择APC,都是一个讲究,在这上面,他用了一个简单的例子,即:用户付钱给商家。看起来很简单,但因为支付宝是担保交易,所以,简单的看起来就是:
1、用户支付时:用户update余额,中间帐户update状态
2、物流进行时:中间帐户维护状态
3、用户确认时:商家update余额,中间帐户update状态
只是在第一步的时候,特别是在聚划算的时候,传说每秒就是几千单,如果从传统意义上来说,没有一台服务器能够达到这样的效果,于是就采用了类似分片的效果,将中间帐户切分成N份(也就可以用N台机器来处理),然后再通过事务合并(这一段是我猜想。。。)
有时候说起来简单,做起来很复杂啊。比如他说,当搞活动的时候就加几台机器,活动结束后就减几台机器。对于程序来说,加减法并不是数学上的加减法,每加一台服务器,带来的成本和风险就会大几分,怎么把握也是一个难题。当然对于我这样的应用型人来说,暂时遇不到,很幸福啊。
好象我对第三位演讲的内容也介绍的比较水,但由于他的内容集中在CAP把握的度上,所以我也不太好介绍,毕竟我对这方面的掌握也不是特别的深

第四位是神仙,(http://xiezhenye.com/),介绍了mongodb的auto sharding。好吧,小公司又是不太会用的一个项目,在小项目中,mysql的查询效率并不会太低于mongodb。所以我就稍稍看了一下,主要也是因为auto sharding是自动切分的,我就不多介绍了。
不过,技术人员的通病就是,自己会用,但不会说。或者是在QQ里在聊天群里非常能说,但现场三棍子打不出个闷屁来,这都是一个问题。下一步我就是要建议thinkinlamp经常搞搞小型聚会,先内部交流,逼着大家上台讲。讲完了再下来沉淀,然后所有人讲完后,再接着讲一遍。只有这样,以后才能真正的走出来,不然,永远只是幕后,没有人认识你啊。

第五位是新浪微博的朋友。他先是很自我宣传了一下,然后介绍了他们在项目中用redis处理计数的功能。表面上很简单的几个数字,来的却并不方便,这其中最大的问题就是用户基数。用他们的话来说,就算是做cache,也不是那么简单的。注册用户3.x亿,每天发贴有1亿+,峰值达到了300W+/秒(这个数据记不清了,希望没错,据说是在春节那天),1亿的数据,相应的人员的微博数要加1,相关人员的未读数要+1,这些存储所花的代价是多少?好吧,我们先用100,000,000折腾一下,1M是多少字节?1G是多少字节?光这些+1所占的空间是多少?如果再加上要绑定的key呢?即用户ID,但又不是直接就用户ID+1,而是uid+comment,uid+post这类组合的key,这样一算的话,它的key得是多长?占了多少空间???说说都是很恐怖的事情,不要说是在做了,所以新浪在不停的为key减少空间。毕竟value只是一个整型,占的空间并不大,相反,key却真正的成了最大的存储空间占用的罪人。这一块的水比较深,我不多介绍。

其实中间还有一位厂商,DSG,但是我没有好好听,毕竟,oracle对我们来说太大了。。我还是初级用户。我很蛋定,谢谢。。。

中间,为了拿到锅巴准备的礼物,上去做一个“oppa 江南 style”的鸟叔POSE。。。。