iscsi连接发起的时候做快照删除动作。
另外,其实可以用qemu-nbd,感觉比iscsi和lvm好。又能压缩,又能快照,还支持模板。
这样应该要修改iscsitarget了吧?现在去看看nbd,还没发现这个。
写个wrapper就可以
好的,大方向有了。再问问,这个包装可不可用shell脚本写?
提供一个思路,无盘服务器启动步骤如下:
1 从dhcp获取地址,及tftp服务器信息
2 从tftp服务器获取kernel及initrd文件
3 将执行权限交给内存中的kernel及initrd文件
4 initrd文件通过dhcp获取到网络地址
5 initrd中的iscsi initiator发起到iscsi target的连接
6 连接建立,内核看到一块物理磁盘(实际上是iscsi lun)
7 启动这块物理磁盘上的系统
如果你想在在建立iscsi target前建立快照, 则需要在步骤4和步骤5之间动手脚。
至于快照删除,则建议定时housekeeping工作,删除不用的快照
--
Liang Guo
http://bluestone.cublog.cn
当然用shell, 偶只会shell.
啥?
from miui
前两天爪机,今天详细说一下方案:
偶建议楼主用qemu-nbd来做,比那个lvm+iscsi好。
好处在于:
1. qemu-img 创建qcow2格式可以压缩,节省io;
2. qcow2可以做snapshot
3. qemu-nbd 在启动的时候可以指定单独的文件放snapshot,很容易就实现模板功能
4. qemu-nbd 可以跟inetd集成,脚本很方便:
#!/bin/sh
CLIENTIP=$IP
SSFILE=/tmp/SS_FILE_$CLIENTIP
qemu-nbd -p 0 -s $SSFILE /path/to/template.img
rm $SSFILE
我忘记inetd脚本里面存客户端ip的环境变量是啥了,有没有好人帮忙查一下。
2012/5/13 Shell Xu <shell...@gmail.com>:
结果4年前就有人吐过了:
http://lists.gnu.org/archive/html/qemu-devel/2008-09/msg00592.html
2012/5/17 Chaos Eternal <chaose...@shlug.org>:
我说我解决不能
from miui
我那天根据你的建议搜索了qemu-nbd,linux行,但windows没有驱动,只有iscsi和AoE,我有windows需求,不好意思,当时没反馈。(电教室改双系统)
想到的方案是:每个客户端一个snapshot然后iscsitarget创建一个tun,这样每个客户端就可以独立还原。
现正在想办法让不同客户端连接到不同的iscsi tun。可行否?
或许有更好的建议?
谢谢!
好像iscsid没有办法用inetd启动,否则你就可以用上面的办法写个脚本包一下了。
还是给nbd写个 windows driver?再或者客户端先起一个linux, 然后kvm一个windows出来。。。反正瓶颈在io上,不在cpu上。。
2012/5/17 tlze <why...@gmail.com>: