FreeBSD 板


LINE

只是刚刚好想到一些事情, 随手写了下来 ;d 不过我想某些东西, 也许可以提供大家在某些地方上面用. 我们先来说整个系统的架构. 尤其像是 bbs这种不是很容易分散到多台机器跑的系统, (也就是要用一台强力的机器硬撑的) 最好要再多准备一台电脑, 帮忙把一些其余的服务分掉. 像是邮件 (尤其加上挡信) , 转信, make world 以及一些後面会描述到的东西. 我们姑且将这台机器称为後援机好了, 他主要的目的只是想要帮前端机分掉一点事情, 8像是邮件, 就由後援机去对外收 (并进行挡信) 以及替前端机发信. 好处是, 信件并不是太须要即时 (你大概不会要求按下 send 後 100ms内要送到) 可是有的时候可能会花掉大量的资源, 像是要挡信, 或是和对方网路上的问题一直重送, 又或是 queue一大堆信件在硬碟里面, 每过一些时候又一直要 retry一次. 又或是你大概不会想要在一台 load > 30的机器上 make world or ports 於是我们在前端机旁加一台後援, 让这种烦人的事情由後援机去做, 於是前端机就可以更 focus在他的服务上. 像这种情况, 两台机器最好串在很近的地方, 像是同一个 switch 上, 又或是直接用 cross-over 线互联. 要怎麽来备份一个足够庞大又会不断乱长的系统? 我想应该不会有人想要把 bbs丢到 cvs里面, 虽然 cvs很好用 :X bbs 一般可以考虑直接把她整个 tar + gz 起来, 就算爆炸了要还原应该也不会算是什麽大困难. 好像有某长辈是用 dump 的 @_@;;;; 备份最好两地备份, 当然你可以考虑直接备份在你的後援机上, 这决对会比你备份在前端机要好的太多了. 当然若你可以再备份到另外一地 (像是备份到美国) 酱子会大大增加爆炸时的损失. 一般应该是会把 bbs架在 i386 上, 自然用的是 FreeBSD或是 Solaris(i386) 我当然不会告诉你我们用的是什麽, 不过据说我们颇崇尚 berkeley A_AY 另外我还可以偷偷的告诉你一些小道消息, 像是据说某间很大的动物园, 她们好像也是用 FreeBSD , 某个喀喀城市, 用的也是 FreeBSD, 另外有一个神秘据说叫做天火的 bbs, 用的是 Solaris(i386) 曾经有位 I零 大大, 说他都直接跟客户说: Linux, no tech support 因为他不会用 Linux, 然後如果人家硬要用的话, 他就会拿 RedHat 光碟把他 install all :PP (要用什麽是个人信仰, 请不要找我来吵架 ;p ) 在 FreeBSD分成三个主要的 branch(es): stable, release, current, 除非你心脏很够力或很年轻或是够大, 一般情况下并不会拿 current的版本在正式的 server 上玩. 虽然 current有些强力的功能, 不过正如 handbook 说的: 21.2.1.3 What Is FreeBSD-CURRENT Not? 1. A fast-track to getting pre-release bits because you heard there is some cool new feature in there and you want to be the first on your block to have it. Being the first on the block to get the new feature means that you're the first on the block to get the new bugs. 2. A quick way of getting bug fixes. Any given version of FreeBSD-CURRENT is just as likely to introduce new bugs as to fix existing ones. (引自 http://www.freebsd.org/doc/en_US.ISO8859-1/ books/handbook/current-stable.html ) 不过不管你用哪一个, 记得时时要注意一下, 看看有没有什麽 security hole又被爆破. 通常 follow release 是比较保险的做法, 不过这项事情好像在最近并不成立. 我自然不会告诉你我到底是不是偷偷昇级到 current了 A"A 关於 security 上的问题, 一般的通讯显然应该要走 ssh一类的通道, 而至於 telnetd, rsh 等等, 请直接拿去马桶冲掉 @_@;;;; 另外建议设简单的 firewall , 在发生火灾的时候会有比较高的存活率~ ;d 通常至少会有 allow ip from any to any via lo0 deny ip from any to 127.0.0.0/8 deny ip from 127.0.0.0/8 to any 就正常的情况下来说, 127.0.0.0/8 应该是不可能会从非 lo0来. 而对於 < 1024 的 resvered port , 通常会只 allow几个有开 service的 port , 其他全挡. 像是: allow tcp from any to me 22,23,25 in deny tcp from any to me 1-1023 in 若机器并不须要提供大家 ssh的 login (像是你的 bbs只开放 port 23, 并没有开放由 ssh转到 bbs) 事实上可以考虑直接把 port 22 (ssh)设死在只有某个 ip 可以连进来, 像是上面改成: allow tcp from 140.112.30.142 to me 22 in # 只给 140.112.30.142 连到本机 port 22 allow tcp from any to me 23,25 in # 大家都可以连本机 port 23,25 deny tcp from any to me 1-1023 in # 其他每个 port 的 tcp都不给连 酱子就算 ssh暴出 security hole , 只要唯一(s) 可以连到的几台机器都没有被攻破, 或是跟本就没有人知道只有那一(s) 台电脑可以连到该台的 port 22 , 至少又比大家都可以连到你的 ssh安全许多. 我相信在一般情况下, 或多或少你都会碰到那种非到 console解决的事情不可, 像是 fsck 失败了, console提示要你打入 root's passsword , 然後问你 shell, 要你手动 fsck , 通常发生这种 (或其他) 的情况的时候, 网路并还没有起来, 你并是 ping 不到, 更别说要 ssh进去了. 如果这个时候你你人就在机器旁的话自然还好, 不过如果你人不在机器旁 (ex你在北京, 机器在台湾) 呢? 我建议如果你有这种考量 or 吃过大苦头 or 不想吃大苦头的, 最好使用 serial console. serial console 差不多是把 console的讯息, 透过 serial (也就是 com port) 导到另外一台机器上 (假设接到後援机) 启动 serial console 是在相当早的, 在 BIOS 等等开机程序完成把 loader 载进来後, 就会把所有的 console讯息导到 serial 上 (这部份我并不是很确定, 若有错误请指正 ^^" ) 也就是, serial console 可以看到完整的开机画面, 就算是 kernel panic , 也可以在 serial console 进 kdb. 於是, 一旦前端机 crash掉, 连网路都 ping 不到的时候, 只要这个时候後援机还活着, 就可以透过网路连进後援机, 透过 serial console 看看前端机目前的情况, 在大多数的情况下, 透过 serial console 都可以把问题解决掉. (当然, 如果像是硬碟爆炸, CPU烧掉的话, 显然就没办法了 ^^" ) 我会建议在後援机开只 screen 把前端机的 console ALWAYS attach. 如此一旦出问题的话, 你可以看到最後到底发生什麽事情. 自然也许有朋友会有疑问, 如果後援机 crash的话怎麽办 @"@ 唔, 我们当然只会在後援机上找外星人和做一些简单的事情, 一般的情况下酱子要把机器搞爆应该不是很容易的. 当然你可以把後援机的 console接到前端机上, 酱如果後援机 crash而前端机没有的话就可以用的到..... 虽然这应该是很奇怪的事情 -____-!# 如果 serial console 还是不能解决你的问题的话, 也许你可以考虑接一个远端 reboot 的装置. 我说的是你可以下指令给後援机, 当她去 short前端机 motherboard上的 reset pin(s) 酱子当然是很暴力的做法, 不过在某些情况下确实有酱子恶搞的必要就是了~ ;p 我当然不会告诉你我们到底有没有远端 reboot 的系统, 不过我可以偷偷告诉你, 我们有用 serial console. 唔 @"@ 我当然不会把这篇写的很好笑或是一点都一正经, 不过我可以偷偷告诉你, 竟然有人说我上次写的那篇很好玩 -_______________-!# -- ▂▅▇▇▅ ╚╩╯╭○ ╔═══╗ ▃ ◢ ╔═╗╬╦ ╠═══╣╔╦ ╔╦╗╠══╣ ◤◢█◤ ╚╦╝║║ ╚═══╝╯/╗╔╬╗╯╭═╣ ◥◤ ▎◣ ◢ ║║║║║ ══╦═╯/ ║╠╬╣╔╬═╗ ╯╝╯╯╚ ╯═╩╩╯ ║║╚╬╝╚╬═○ _ '_ ' _ ◢█\ ¯ ╚╝╰╯╯╰╯╰╯ ▼ \ --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.30.143







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP