Linux and Wake on LAN

The Internet servers are usually on 24×7, probably that’s why I never had the need to use the Wake on LAN feature on a computer.

I’ve just built a home server running Ubuntu Linux, using consumer grade PC parts. To avoid a big surge on my next electricity bill, I plan to only turn on the server when the sun is shining or during off peak when electricity is cheaper. It’s trivial to mention how to shutdown a Linux server via SSH, however to my surprise it’s not any harder to turn on a Linux server using WoL.

First on the server, make sure the line `ethernet-wol g` exists under the interface. eg.

auto enp0s31f6
iface enp0s31f6 inet static
address 192.168.1.51
netmask 255.255.255.0
gateway 192.168.1.1
ethernet-wol g

Save it and restart, run `sudo ethtool enp0s31f6` and if the following line appears in the output then it's a success!

Wake-on: g

Next step is to turn on WoL in BIOS. Different BIOS may call it different names but generally it’s to allow the system to power on by PCI/Network.

On Arch Linux, install wol, the command to wake up a WoL enabled computer.

sudo pacman -Sy wol
sudo wol <MAC ADDRESS>

Reference: https://wiki.archlinux.org/index.php/Wake-on-LAN

That’s it 🙂

开始用 Arch Linux

archlinux-logo-dark-1200dpi

用 Linux 的好处是选择多多, 但有的时候确实很难选, 俗称”挑花了眼”.

我基本上的要求有:

  1. 相对新潮, 各个模块的版本都是最新的才好(当然, 不是说服务器上的系统)
  2. 桌面是(或者可以是) Gnome Shell. 很多人恨 GS 恨得牙龈都发炎了, 但我对 GS 情有独钟
  3. 社区活跃, 有问题多半能 Google 到结果
  4. 没有商业气味, 没有大公司在背后控制

这样筛选下来 Ubuntu 太商业化了, 奔着下一个 WindowsXP 的路子去了; Fedora 社区不给力; Debian 太保守… 唯有 Arch Linux 几乎完美. 唯一麻烦的是, AL 相对高端, 没有”一直点 Next”类安装界面, 安装 AL 是从 fdisk, mkfs, mount, chroot 这样的命令开始的(当然比起 Gentoo 的 gcc, make, make install 来说就很便利了).

然而毕竟现在不像上学时有大把时间可以浪费, 分区, 复制系统, 装好了显卡驱动, 启动了 GS 后我发现声卡/无线网/触摸板/蓝牙/摄像头等等都得安装, 我就有点烦了. 幸运的是早就有人烦了, 于是有 AL 的安装脚本可以用, 这样我就走了捷径, 在笔记本上装好了 AL. AL 的 wiki 非常棒, 有问题可以在此寻找解决方法, 包括中文输入等等. 最后放个截屏交作业了:

Workspace 2_371

🙂

擎天柱与大黄蜂

1400x960-bumblebee-optimus-prime5

前些时, 我打算升级一下我的笔记本电脑, 作为给自己的生日礼物, 老婆很给力的批准了. 于是我稍做筛选, 购买了正在促销的 ASUS R501J, i7 处理器 + 15″ 1080P 的屏幕 + 16GB 内存, 我觉得够用了. 只是… 预装的是 Windows 8, 而且有 UEFI + SecureBoot.

微软希望依赖 SB 来阻止我卸载 Windows 安装 Linux, 但很显然他也不得不给自己留个后门, 我只需要照做就是了. 于是轻松关闭 UEFI + SB, 又看到了熟悉的 BIOS, 那安装 Fedora 20 吧. 好笑的是每一种企图剥夺用户自由的”科技”都会美其名曰为了保护用户不受”未授权”的软件的”侵害”, 哈哈哈.

安装 Fedora 20 在 R501J 上就像在茶餐厅点菜一样容易, 键盘上的功能键/屏幕/触板/无线网络/摄像头…都直接可用了, 不过意料之内的是独立显卡似乎被闲置一边了. 原来这就是传说中 Nvidia 的 Optimus(擎天柱) 技术, 平时使用 Intel 的集成显卡达到省电的目的, 而开启 游戏等 3D 应用时就切换到 Nvidia 的 GTX 760M 独立显卡. 硬件厂商是来不及给不到 1% 的 Linux 市场写驱动的, 一贯如此. 但 Linux 用户数目虽少, 却藏龙卧虎, 很快我就找到了 Bumblebee(大黄蜂) 项目, 看名字就知道是来给擎天柱大哥帮忙的.

按照 Bumblebee 上给出的步骤, 我很轻松的安装并测试成功. 下面是对比结果:

先是 Intel 集成显卡:
Selection_323

对比 Nvidia 独立显卡
Selection_324

虽然没有自动切换, 也基本完美了. 改天装个 Dota 2 感受一下.  Dota 2 还玩不成, segmentation fault…

🙂

PS. 貌似集成显卡的 FPS 峰顶在60了, 不过肯定也不会高到哪里去的.

LVM 快照(snapshot)的第二种用法

之前我已总结了 LVM 快照的第一种用法: 利用 LVM 在线抓取 MySQL 数据库快照, 也可以扩展到任何需要在线生成磁盘快照的应用. 自 LVM 2.0 以来, 镜像分区不只是只读的, 而且可写. 而写入快照分区的一种应用就是造”沙盒(sandbox)”, 在 Xen VM 环境的具体步骤如下:

1, 假设供测试的虚拟机 test, 分区是 /dev/vm/test-disk, 为其生成 10GB 快照分区 test-ss:

lvcreate -s -n test-ss -L10G /dev/vm/test-disk

2, 将 test 虚拟机关机, 可以

ssh [email protected] “shutdown -h now”

或者

xm shutdown test

3, 复制 /etc/xen/test.conf 到 test-s1.conf, 并将磁盘分区 /dev/vm/test-disk 替换为 /dev/vm/test-ss, 就是用快照分区作为 VM 的系统分区

4, 启动沙盒: xm create test-s1.conf

5, 可以用沙盒进行各种天诛地灭的测试项目了

6, 如何结果不如意, 只需要把快照分区删除就行了, 因为源磁盘分区并未改动.

lvremove /dev/vm/test-ss

如果结果如意, 可以把镜像上的改动合并入源

lvconvert –merge /dev/vm/test/ss

🙂