May 082007
 

今天看到了订阅的Michael 写的一篇《Dreamhost 服务器上的网站数量》的文章,提到了Dreamhost单台服务器网站数量以及overselling的问题,就我用过这段时间的Dreamhost的主机来看,这些地方是值得一说的。

首先关于overselling,所有主机商都在overselling,这是不可否认的事实。一方面,肯定不是所有客户能用光它的所有空间和流量额度的,从客户层面来看,只要客户在使用它的空间时,不出现还未到达额度就不能用的情况,客户就可以接受。有没有预留足够的空间那是服务商的问题。另一方面,服务商如果为每个客户预留足够配额的空间,在大多数情况下都是不必要的,这绝对是资源的浪费。因此overselling是再正常不过的了。对于主机商和用户,大可以不必关心此类问题,所剩下的只不过是道义上主机商有没有刻意隐瞒这种行为,或者把不隐瞒这种行为作为自身诚实的卖点的区别而已。

可能有人会问,如果恰好每台服务器上有很多较真的客户,非要用满空间额度,导致服务器硬盘爆了怎么办?实际这个问题从技术上也是不难解决的,例如磁盘阵列的动态扩容,逻辑卷增容等都可以实现,所要做的只不过是监控服务器资源使用情况,在将要达到临界值的时候通知sysadmin增容而已。即使系统弱智到无法扩容,不是还可以把用户站点分流到其他服务器嘛,只不过会增加一个无downtime的迁移过程而已。总之办法多的是。因此主机商采用overselling的策略,是对用户以及对其自身都有利的。

貌似Dreamhost的overselling被指责更多是多用户站点并存导致的负载以及不稳定因素,而不是空间或者流量overselling问题。下面再讲讲这一点,因为貌似Dreamhost在这里主机架构与其它一些传统厂商有很大不同。

在前面提到的文章里,介绍了通过截passwd来断定一台服务器上有多少帐号的方法,此方法确实能大致估算出一台服务器上有多少站点。但这里有一个问题,就是你shell帐号所在的主机真的就是你web访问的主机吗?从一个shell帐号本身所具有的权限我们来一步一步推断这个问题:

首先不知有没有人注意,在后台panel创建的不同的domain可能会有不同的IP,甚至在同一domain使用了一段时间后,再删除重建也可能会更换IP(非常少见)。这就说明,dreamhost的系统首先对于每个IP上容载的vhost数目有其自身的一个分配机制。也就是说:每IP上的站点数目对于dreamhost是可控的,并且这个数目应当是小于物理服务器上站点数目的。这个机制就能解决站点添加独立IP的问题,以及对IP实现的流控或访问量问题,也就做到了初步客户访问层面的隔离。比如说可能一个IP出问题,影响的也就仅仅是这个IP上的站点了。当然貌似大多数的downtime不太可能是这种情况。

然后深入分析一下。一个典型的站点,大体服务层次可以分为基于IP+头名的客户访问层次(就是上面一段的内容),应用服务器层次(Application Server,比较容易混淆的概念),文件存储层次(ftp,ssh所管理的文件),附加服务层次(mysql,dns,email等)。对于传统主机商,最典型的情况是所有这些服务都由同一台物理服务器完成的,或者是少量附加服务分离,例如数据库单独运行在别的服务器上,而对于dreamhost,显然不是这样。就我目前所能了解到的东西来看,dreamhost的web前端,dns,email是分离的,至少没在同一个IP上,这个可以从不同的子域名解析看出来。但web前端的IP和ftp,ssh帐号登陆的IP是同一个,这似乎说明这些服务似乎也是运行在一台物理服务器上的。但有一个命令似乎能提供出不同的论点,就是mount,输入这个会发现列出的挂载点中有很多nfs挂在过来的文件系统,而这些系统恰恰是放客户数据的/home下的不同目录。而且从具体/home里的内容可以看到有很多更为复杂的符号链接,有多个用户的家目录会挂在同一个mount点下。不妨设想,这是通过nfs提供的文件存储服务器,一台用于前端web访问的服务器,后面挂了多台nfs server,这些nfs server,才是具体存放用户数据的服务器。

所以这里就明朗了,dreamhost在同一台服务器上放置数千个站点,实际上这些站点的文件是存储在不同的后端nfs server上的。因此其overselling并不是想象得那么夸张。再加上无法断定的是否对于多个不同IP也处于不同物理服务器分担(ifconfig netstat无权执行),apache本身配置未知,应用服务配置(fastcgi等,这些没必要追究得太细,估计也没人关心)等情况,往好一点的方面想dreamhost可能会有更细致的分布式设计,因此一台双Operton跑数千个站点数T空间从技术上也可以大致讲通了。

大体也就写这么多了吧,以前本打算悉心研究一下dreamhost的底层架构来的,可惜一直没时间,最近由由于速度问题退掉了原有的dreamhost选择了hostmonster,因此也只能分析到如此程度了。但用起cpanel以后的系统才发现,dreamhost本身的架构设计以及panel考量还是很优秀的,比起这些老前辈来说,可以算是十分有特点了。Dreamhost如此出名不是没道理的。

  5 Responses to “再论Dreamhost和overselling”

  1. 好专业。前段时间我也看他们的那些个文章了,讲的很夸张。我转摘到我blog。
    另外,你blog评论处的内容框下面的两个按钮,看不清字。。不知道哪个是发表……
    我是在firefox下

  2. [...] 转自:Solo Estoy 原文:再论Dreamhost和overselling [...]

  3. 谢谢关注,这个主题的submit按钮确实很妖怪XD,一直懒得改

  4. [...] Estoy 原文:再论Dreamhost和overselling [...]

  5. CARE!! Dreamhost is stealling domain name!!!
    See my experience:
    ————————————————————
    On Tue, 19 Jun 2007, you wrote:

    > Hello, I am trying to transfer my domain name XXXX.com to another
    > register, it request the authorization code provided by
    Dreamhost.com, but I
    > can not find it in my account, please advise, thank you.
    >

    This account was closed for suspected fraud. We will not be able to
    release the domain registration.

    Karl

    - DreamHost Abuse/Security Team
    – Terms of Service: http://www.dreamhost.com/tos.html
    – Anti-Spam Policy: http://www.dreamhost.com/spam.html

    ———————————————————–
    On Tue, 19 Jun 2007, you wrote:

    > Hello, I know my account was closed for some reason, but I don’t knwo
    what is
    > the “suspected fraud” mean, anyway if you feel uncomfortable to
    provide me
    > service it’s fine, I just want my domain name back, I NEED MY DOMAIN
    NAME
    > BACK, why you hold my domain name??? It’s not reasonable, the domain
    name was
    > registered under my name and now you just steal it from me??? Further
    more I
    > did not find any infomation about “service termination” in you terms
    and
    > conditions stats that you will hold my domain name under such
    situation,
    > otherwise I even won’t register with you guys. I really need talk to
    someone
    > who can take care of this matter, and I can not find a phone number
    on your
    > website, please advise, thank you for all your help.
    >
    >

    “Suspected fraud” means we suspect your account was signed up using a
    stolen credit card.

    If you would like to contest this, please fax me US state photo ID,
    plus
    another form of ID, both displaying the name and address information
    you
    signed up with:

    Jerry XXX
    84372-2 XXX XXXXX
    Killeen, TX 76544, US

    Write “ATTN: KARL” at the top of the fax.

    The fax number is: 213-624-1143

    Karl

    - DreamHost Abuse/Security Team
    – Terms of Service: http://www.dreamhost.com/tos.html
    – Anti-Spam Policy: http://www.dreamhost.com/spam.html

    ————————————————————
    On Tue, 19 Jun 2007, you wrote:

    > Hello, thanks for your reply, I am not US residents, I am Chinese, I
    register
    > with my US address because I was studing in US when I hosting my
    website on
    > dreamhost, but the credit card has no problem, I can fax you the copy
    of both
    > sides of the credit card, the monthly statement and my Chinese ID
    card, does
    > this help? I need the last four digts of the card number to help me
    remember
    > which card I used to signed up, but I promise I never use a fraud
    card, and I
    > do need my domain name back, please help, thank you!!
    >
    >

    No. We will need to see your US ID in the name of “Jerry Smith” with
    the
    address you gave us when signing up. If this information is false, you
    committed fraud, which simply supports the reason your account was
    disabled in the first place.

    Karl

    - DreamHost Abuse/Security Team
    – Terms of Service: http://www.dreamhost.com/tos.html
    – Anti-Spam Policy: http://www.dreamhost.com/spam.html
    ———————————————————–
    Hello, but you said it’s about my credit card, right? So now I can prove that I am the card holder, then what’s the matter, what fraut is this? And what’s this related to getting my domain name back?? I use my english name register several domanain never have problem, I am not US resident, I dont have a US ID card, you never ask I have to use my name on the ID card to singe up, but all my Credit card info is correct, including holder’s name, and billing address, and I don’t think this will be the excuse that you steal my domain name from me, it’s not logical. I pay you guys to register the domain name but not pay you to check all my privacy, the credit card payment via google checkout has no problem, I did not do any fraut, you refund my money by yourself and now I lose my ownership of my domain name, what a hell is this?? Do you get an phone cal that I can talk to some supervisor please, I want resolve this problem as soon as possible, thank you.

    Then NEVER REPLIED……….I just feel my domainame will never come back, is it fair????

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>