2014-05-10

我的宝贝

IMG_0253

十月怀胎,瑶瑶终于九日于上海一妇婴诞下一女婴,七斤二两,母女平安。

小女杏眼朱唇,肤如凝脂,头发乌黑,模样俊俏,性格安静,煞是喜人。

经与家人多日斟酌,合纵连横,最终定下我取的名字:莫染心。

“染心”,语出孟浩然诗“看取莲花净,方知不染心”。寓意在这尘世中保持心灵的洁净,不染纤尘,永葆初心。

今后的日子里,爸爸妈妈会陪你一路走下去,一起加油!

2014-01-09

逛菜场

image image

image image image  image image

2013-12-22

Amazon EC2数据备份之EBS

众所周知,amazon EC2中创建的虚拟机instance在关闭后,数据是不保留的。也就是说,如果instance因为意外操作或者AWS宕机等原因被重启了,哪这个系统中所有的数据就都没有了 🙁

之所以AWS被设计为如此,应该是为了节约资源的考虑。大部分的EC2 instance应该是为纯计算型应用服务的,用的时候创建进行运算服务,运算结果可以由用户导出下载到本地,云中是不需要保存这部分数据的,因此为每个instance保留数据实例,意义并不大。

但是如果想用EC2做web host,数据持久化是必须要面对的问题。针对这个情况 ,amazon提供了对应的EBS服务,elastic block storage 。

通过EBS创建的volum卷可以挂载到指定的instance之上,EBS卷上的数据不会受到关联的instance的启动或者关闭的影响,数据是持久保存的,因此用EBS来实现instance上数据的持久化是最简单的选择。

铺垫了这么多,言归正传,pixcase.me在EC2上毫无保障地裸奔了一个多月之后,今天终于用EBS建起了最基本的数据保障。拖延症和极端的乐观主义果然是有直接关系的,悲观主义者肯定第一天就把数据备份的问题搞定了,怕宕机啊。。。

pixcase.me用wordpress搭建,现在在instance上跑的主要是一个apache和一个mysqld,需要备份的数据只有/var/www目录下的网站代码和上传的文件,另外还需要备份的还有mysql数据库。

在AWS management console里面创建一个新的ebs volum,Amazon Aws Trail免费套装里面EBS有30G的免费额度,之间创建的micro instance只占用了8g,我们还有22G免费额度可用。考虑以后还可能继续折腾,暂时创建了一个8G的新卷,剩下来的额度留着今后折腾别的用~。

EBS卷创建完毕之后,右键点击卷名,选择挂载到我们之前创建到得instance之上。

打开终端,在/dev目录下,可以看到新出现了一个新设备xvdf

root@ip-172-31-5-135:~# cd /dev/
root@ip-172-31-5-135:/dev# ll | grep xvd
brw-rw---- 1 root disk 202, 1 Oct 19 13:50 xvda1
brw-rw---- 1 root disk 202, 80 Dec 22 07:54 xvdf

新创建的EBS卷要格式化后才能使用

root@ip-172-31-5-135:/dev#  sudo mkfs.ext4 /dev/xvdf

然后再挂载到系统之中

root@ip-172-31-5-135:/dev# mkdir -m 000 /vol
root@ip-172-31-5-135:/dev# echo "/dev/xvdf /vol auto noatime 0 0" | tee -a /etc/fstab
root@ip-172-31-5-135:/dev# sudo mount /vol
ubuntu@ip-172-31-5-135:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.9G 1.2G 6.3G 16% /
udev 288M 8.0K 288M 1% /dev
tmpfs 119M 176K 118M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 296M 0 296M 0% /run/shm
/dev/xvdf 7.9G 218M 7.3G 3% /vol

新卷挂载完成之后,我们就可以把关键数据迁移到新卷之上了。

首先是拷贝网页代码到新卷之下:

ubuntu@ip-172-31-5-135:~$ cd /vol
ubuntu@ip-172-31-5-135:/vol$ sudo mkdir www ubuntu@ip-172-31-5-135:/vol$ sudo cp -rfp /var/www/* www/

修改对应的apache配置文件,将site的DocumentRoot指向/vol/www
重新加载apache配置,完成数据迁移。

ubuntu@ip-172-31-5-135:/vol$ sudo /etc/init.d/apache2 reload
 * Reloading web server config apache2 [ OK ]

下面是迁移mysql数据库文件,首先拷贝文件到新的EBS卷之下:

ubuntu@ip-172-31-5-135:/vol$ sudo mkdir mysql_datadir
ubuntu@ip-172-31-5-135:/vol$ sudo cp -rfp /var/lib/mysql/* /vol/mysql_datadir/*
ubuntu@ip-172-31-5-135:/vol$ sudo chown mysql.mysql -R /vol/mysqld_datadir


拷贝完数据后,然后修改/etc/mysq/my.cnf,将datadir指向/vol/mysql_datadir。

迁移完毕,重启mysql,然后可耻的失败了 🙁 这是为何?

ubuntu自7.10开始启用了一套新的安全机制AppArmor,这个安全软件会在你的文件系统中创建一个允许应用程序访问的区域(专业术语:应 用程序访问控制)。如果不为MySQL修改AppArmor配置文件,永远也无法为新设置的数据库存储位置启动。


sudo nano /etc/apparmor.d/usr.sbin.mysqld

注释掉/var/lib/mysql/这两行,并加入新的配置


/vol/mysql_datadir/ r,
/vol/mysql_datadir/** rwk,

配置修改完毕后,再次重启mysql


ubuntu@ip-172-31-5-135:~$ sudo /etc/init.d/mysql restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql restart

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. stop mysql ; start mysql. The restart(8) utility is also available.
mysql stop/waiting
mysql start/running, process 8967

大功告成,今晚可以安心睡觉了~ 🙂

2013-12-22

莫小小的小马驹鞋

莫小小小马驹鞋子

老婆断断续续缝了一个月,终于大功告成~

我负责了小马的眼睛还有鼻子,笑嘴难度太高,最后还是老婆出手搞定~

2013-12-12

城市应该是是每个人的城市

城市应该是每个人的城市。

有人需要别墅,有人需要公寓,但有的人只需要一个可以遮风避雨度过寒冬的井口就够了。

然而我们的首善之都并不欢迎所有人,首都只要精英,不要贫民。连唐家岭和群租房都容不下的城市,又怎么可能容得下这些住在井下的人?

人人生而平等,但在首都这句话尤其不成立,忘记那些充斥着伪善的句子的“北京精神”吧,真正的北京精神在政府大院的高墙后面,在胡同深处隐秘的高档会所之中,在北京人叫嚷着“这儿是我家,这儿是北京”谩骂外地人的公交车上。

北京精神是什么?北京精神就是特权通吃一切。官员凭借职位权力垄断资源,商人通过金钱从权力处换取特权以获得更多的资源,平民凭借户籍特权占有优质资源。这一切都是特权阶层的合谋,外来者要么用金钱买通进入这个体系,要么就被排斥抛弃。特权阶层也在逐渐板结,个人奋斗什么的,今后再无机会。

这注定了北京无法成为一个伟大如纽约般的城市,北京没有这个胸怀,也没有这个基因,当它失去特权的滋养的时候,就是它开始衰落的时候。

再读一遍自由女神基座上的诗吧,至少,这个世界上还有这么一座伟大的城市,这么一个开放包容的地方,作为人类的骄傲而存在。

送给我,

你那些疲乏的和贫困的挤在一起渴望自由呼吸的大众,

你那熙熙攘攘的岸上被遗弃的可怜的人群,

你那无家可归饱经风波的人们,

一齐送给我!

我站在金门口,

高举自由的灯火!

                                           — 爱玛·拉撒路

2013-11-22

乐观主义的陷阱

今天在豆瓣广播里看到一句话

我认识的那些真正的悲观主义者,恰恰是最有行动力的那群人。

而我恰恰是一个非常没有行动力的人,同时我还是一个症状严重的乐观主义者。

然而看到这段话才突然明白,乐观主义也会有陷阱。

因为总是会保持不恰当的乐观,总是相信手头的工作不用着急,过一会儿找个时间随便就解决了,结果真正做起来,花费的时间总是远远超出自己的预期。

以前还经常以自己乐观主义者的性格而带着一点自豪与自信,总觉得悲观主义者活在灰暗的阴影下,好傻,现在明白,过度的乐观事实上同样愚蠢。

so

be a proud optimist, don’t be a stupid optimist

keep self-motivated,  keep walking

2013-10-24

搬家咯

之前一直在blogbus上记录自己的点滴,但是无奈blogbus最近糟糕的状态实在是让人难以忍受,开始有了搬家的心思。

博客作为一个在新的it大潮中已经被边缘化的概念,互联网上的各家大佬们其实都已经不再重视自己的博客产品,创业公司也纷纷投向移动开发追逐心的概念,想从blogbus搬出来,一时真没有更好的可以去的地方。

考虑了良久,申请了amazon一年免费期限的vps,利用这个空间搭建起了自己的站点,正式从blogbus搬家出来,今后,一切都靠自己啦。

wordpress部署完毕,今天正好不用上班,花了一个下午整理之前留下的文字,感觉像是做了一次穿越时光的旅行,猛一抬头,天色已暗。

还是那句老套的感叹,时间过得太快了。。。

然而正因为时光如梭,才要格外珍惜,认真精彩地度过每一天,也悉心记录下自己的每一天。

cheer up,新家,重新开始~

2013-10-13

buffalo LS-WXL NAS 部署笔记

从上大学开始到现在所积累的照片和资料现在一直是用一台希捷的3.5寸外置移动硬盘保存着。每次拿出来拷东西的时候,咔咔的读盘声总让人不免担心,万一这块硬盘哪天抽风坏了怎么办。这些数据中包含了无数过往的努力和回忆,一旦丢失,代价实在是难以估量。

组建一套家用的NAS是解决目前的窘境的最好选择。但是群晖之类的NAS不带硬盘动辄上千实在是有点贵,心怀一颗屌丝之心,始终不忍下手。用旧PC改装一个,家中实在是没有地方可以容纳。上个月无聊逛易讯时发现Buffalo LS-WXL NAS正在特价,399购入一台,貌似一个月过后到现在还是最低价,占到便宜的感觉十分开心 :)虽然便宜了点,做工和群晖的高富帅没法比,但是两个硬盘槽位,支持RAID 0/RAID 1,linux系统可以破解,支持Web Access,功能足矣。

光有腹中空空的NAS当然不行,还得往它肚子里塞上硬盘才能工作起来,对比各项参数和口碑,西数的NAS专用红盘是最好的选择,但是价格嘛。。。 最终决定下来,还是入了两块西数的2T绿盘,可靠性差了点,但是有RAID 1,两块互为备份,可靠性还是有保证的。易讯绿盘无货,京东现货入手。

考虑到家里特殊的网络拓扑结构,NAS附近有小米盒子,电视机,还有一个Raspberry PI需要接入网络,装修时墙上只留了一个网口,这么多设备需要一个交换机来互联并接入网络,还需添置一个交换机。家里有一个百兆的TP-Link交换机,但是今后如果想用小米盒子直接samba访问NAS放高清电影的话,百兆网络就难当大任了。交换机这个东西属于耐用品,一般都不容易坏,上淘宝上淘一个二手实用的即可。上上下下比较了一番,Netgear GS105是一个不错的选择,铁壳,千兆,成色不错的货挺多的,找了一个靠谱的商家,加配原装电源一个¥99搞定。两天后到手,成色果然不错,9成新有余,拿在手中沉甸甸的,淘宝掌柜诚不欺我也~

万事俱备,只欠部署。安装之前,来一张全家福先~

buffalo nas

(更多…)

2013-10-13

又到一年秋风起

又到一年秋风起,母蟹黄肥,公蟹膏壮~

十月吃蟹

2013-10-08

北外滩-换个角度看浦东

魔都-北外滩