FirstServed Homepage FirstServed Web Hosting | Housing | Domain Names Order Hosting and Domain names FirstServed Help | Support FirstServed Company Information
FirstServed Technical Blog
  • 19th Jan, 2010

    Hi,

    Normaly you should always have backups of your databases, restoring suspected databases is not a good option, but I think at some point in time, in some situation you’ll want to do it anyway.
    So today I set up a test case for this. I mirrored one of our database servers and made it crash, badly.
    Two databases were corrupted, and went to the "suspect state".
    MS SQL started throwing errors in our general direction like:

    "Database cannot be opened. It has been marked SUSPECT by recovery."

    Not good, but just what we wanted…

    So how would it be possible to recover these databases?

    First, set them to emergency mode, this way you will be able to retrieve control.
    In emergency mode you can actually open the database:

    alter database "test-database" set emergency;

    Second, put them in single mode (needed for the check we will be performing):

    alter database "test-database" set single_user;

    Then, check the database (this repair allows data-loss, since I’m sure some data will have to be lost in my scenario):

    dbcc checkdb (’test-database’, REPAIR_ALLOW_DATA_LOSS);

    Finally, if the check succeeded, you can re-enter multi-mode:

    alter database "test-database" set multi_user;

    Et voila, the database is restored…
    Not a best practice, but it may save some time once.

     

    Greets,

    Koen

    No Comments
  • 16th Oct, 2009

    Hi,

    When running through what should be a simple and painless Microsoft Sharepoint installation on a Windows Server 2003 (with IIS6 pre-installed), I encountered the following problem:

    Server Error in ‘/_layouts’ Application.

    IIS is kind enough to hide all the information about the error, so there you are, without a clue.
    Maybe this can solved in the "SharePoint Central Administration"? No luck either, now it throws a similar error.
    So, to resolve this issue, we first need to activate the error output in the web.config.
    This is located at the following location:

    C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\template\admin\1033\web.config

    Open the file using your favourite text editor and search for the line which sets the customErrors (line 3), change it to:

    <customErrors mode="RemoteOnly" />

    Now you’ll be able to view the errors when browsing to your Sharepoint installation from the server itself.
    This time it presents you the real problem:

    Parser Error Message: Could not load file or assembly ‘System.EnterpriseServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’ or one of its dependencies. The system cannot find the file specified.

    Assembly Load Trace: The following information can be helpful to determine why the assembly ‘System.EnterpriseServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’ could not be loaded.

    So, how do we fix this missing assembly?
    Open two windows explorer screens with these locations:

    C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
    C:\WINDOWS\assembly

    (The .NET Framework version and Windows Path may differ depending on your installation.)

    Then drag the file "System.EnterpriseServices.dll" from the Microsoft.NET\Framework\v2.0.50727 folder to the assembly folder.

    Now the problem should be fixed. (It is possible you’ll have to recycle the Application Pool.)
    Reload your browser windows, both the Central Administration page at port 9503 en the normal sharepoint pages at port 80 should work.

    Thanks goes out to the people at forums.asp.net .

     

    Kind regards,

    Koen

     

    No Comments
  • 2nd Oct, 2009

    If the good old centos image you are using is suddenly being VERY slow when performing a "yum upgrade" command, try this rule to speed things back up a bit:

    yum clean all

    Most likely yum is using some old cached information.
    (We encountered this problem when upgrading from CentOS 5.0 to 5.3.)

    No Comments
  • 8th Jul, 2009

    One of our customers has a Drupal enabled website… as many of you might know, Drupal is an open source CMS system with nice features, but it also is quite a bottleneck on server performance.

    We suggest drupal enabled website hosting customers to opt for a Virtual Private Server Light or even Virtual Private Server Standard setup. This means you can set up a nice isolated environment for a Drupal driven CMS website with dedicated server performance at severe reduced cost.

    When setting up the environment be sure to run through the following checklist:

    • CentOS 5.3 (for example)
    • Apache 2.2 webserver
    • MySQL 5.0 database server
    • PHP 5.1 or even better, 5.2
    • and, very important: eAccelerator 9.5.3 or higher.

    Why the eAccelerator? Well Drupal uses a lot of cached pages. Enabling Drupal caching already gives you a boost but installing eAccelerator makes sure frequently used php scripts are stored in a compiled state thus allow retrieval faster.

    On top of that, you may optimize the MySQL query_caching settings, as they Drupal also uses a lot of the same queries.

    You can find the latest version of eAccelerator here: http://eaccelerator.net/

    Take care,

    Dominique

    No Comments
  • 18th Feb, 2009

    When modifying DNS settings, a local DNS cache can be pretty annoying.
    Often you’ll want to clear the local cache of your computer and get new records from your provider (which may speed up the process if the provider has already updated the DNS records).

    This can be done with these commands:

    Windows: ipconfig /flushdns
    Linux: /etc/init.d/nscd restart (or service nscd restart, or /etc/rc.d/init.d/nscd, depending on your distribution)
    Mac OSX: dscacheutil -flushcache (or lookupd -flushcache for Tiger)

    These commands should be entered in a terminal ("cmd.exe" for the Windows users).

    No Comments
  • 10th Feb, 2009

    Hi,

    If your Windows FTP is working correctly, but some users are reporting "550 Cannot STOR." errors.
    It may be a good idea to check your logs for the filenames they are using.

    We encountered the same problem on one of our shared Windows servers.
    The problem was an illegal filename.

    The user was using a mac computer, which allows a filename to contain ":".
    The ":" is an illegal character to Windows and will finally result in a "550 Cannot STOR." error.

     

    Greetings,

    Koen

    No Comments
  • 17th Oct, 2008

     

    Server virtualisatie of het aanbieden van virtuele servers – ook wel Virtual Private Servers genaamd – kent een ware opmars in het het hosting landschap.

    Server virtualisatie bestaat al jaren op corporate niveau en in enterprise omgevingen maar wint de laatste tijd duidelijk aan terrein bij uitgewerkte dedicated server hosting oplossingen en biedt een uitstekende aanvulling op het uitbouwen van een high-end hosting platform met hoge beschikbaarheid.

    De termen ‘Server Virtualisatie’ of ‘Virtuele servers’ winnen duidelijk aan terrein, maar wat is virtualisatie precies?

    Het server virtualisatie aanbod is overal identiek, of toch niet?

    We mogen gerust stellen dat server virtualisatie of virtuele servers aanzien worden als dé oplossing wat prijs/kwaliteit bewuste hosting betreft. Vaak wordt het aanschouwd als een alternatief voor de klassieke shared hosting en de in sommige gevallen misschien te dure dedicated server hosting oplossingen.

    Er is echter een groot onderscheid dat dient gemaakt worden in de server virtualisatie markt. Het verschil zit hem in de manier waarop virtuele servers worden aangeboden. Voor veel hosting bedrijven zijn virtuele servers de heilige graal wat besparing op de energiefactuur betreft en het optimaal gebruik van hardware, wat deels ook correct is… Maar server virtualisatie biedt aanzienlijk meer voordelen dan slechts die twee facturen waar – laat ons eerlijk zijn – de gemiddelde klant niet echt van wakker zal liggen.

    Vaak voorkomend is het Virtual Private Server (VPS of ‘virtuele servers’) aanbod. Deze vorm van server virtualisatie is gebaseerd op virtualisatie op het niveau van het operating systeem. Het hardware platform draait met andere één host operating systeem en zal dat operating systeem opdelen in verschillende guest operating systemen, met echter één beperking: de guest operating systemen moeten identiek zijn aan de host, aangezien deze zorgt voor de correcte communicatie tussen hard- en software.

    Deze vorm van server virtualisatie is veel voorkomend, vaak betaalbaar en biedt als voordeel dat u op een schaalbare manier – naast andere klanten hun virtuele server – kan meegroeien op het platform.

    Dergelijke VPS oplossingen maken de kloof tussen shared hosting en dedicated hosting kleiner, maar zijn in geen geval vergelijkbaar met de high-end virtualisatie oplossingen die FirstServed aanbiedt aan bedrijven.

    Er zijn helaas ook nadelen aan verbonden: u kan voor high-end toepassingen geen operating systemen combineren op uw gekozen platform… Stel dat u bijvoorbeeld een Linux based mailserver wenst te draaien en een Windows based server operating systeem voor gebruik van een SQL Server databank. Dit zal niet gaan via operating system virtualisatie.

    FirstServed biedt binnen haar expertise als server virtualisatie partner uiteraard deze oplossingen aan maar zal in geval van high-end hosting oplossingen de voorkeur geven aan Citrix XenServer, een server virtualisatie oplossing gebaseerd op een hypervisor.

    De hypervisor biedt als enorme voordeel dat het host operating systeem volledig onafhankelijk is van de guest operating systemen die het herbergt.
    Zo kan u op een XenServer perfect verschillende Linux based servers draaien maar ook Windows based servers, dit alles op hetzelfde hardware platform wat meteen de deur opent naar hosting oplossingen die server virtualisatie écht interessant maken: hoge beschikbaarheid (high-availability), beperking van downtimes, failover configuraties enz. Server virtualisatie biedt op dat moment aanzienlijk meer voordelen dan alleen maar het beperken van het stroomverbruik voor de hosting firma of het beter benutten van hardware resources.

    Op de software markt zijn diverse spelers aanwezig als het om paravirtualisatie gaat of virtualisatie met behulp van een hypervisor: Citrix XenServer, VMWare ESX, de Microsoft Hyper-V oplossing…

    Wat kan server virtualisatie of een setup met virtuele servers voor u betekenen?

     FirstServed kan voor u diverse hosting oplossingen bieden op basis van server virtualisatie: het opzetten van een platform waarbij u beschikt over twee hardware platformen welke in een actieve/standby modus worden geconfigureerd. Uw server draait in een virtuele omgeving op de ene machine en zal in geval van hardware problemen overschakelen en opgestart worden op de standby machine. Via heartbeat detectie in combinatie met verschillende parameters controleren wij of uw server correct functioneert. Wat gegevensopslag betreft werkt FirstServed naast de on-board RAID oplossing eveneens met een network RAID: uw gegevens worden over beide machines gerepliceerd over het netwerk zodat u in alle gevallen een functionerend redundant opslagplatform ter beschikking heeft.

    Hiervoor maakt FirstServed gebruik van het alom vertegenwoordigde en de op enterprise niveau geïmplementeerde DRBD oplossing (Distributed Replicated Block Device). DRBD is niet nieuw, het wordt reeds jaren gebruikt voor opzetten van high-availability data clusters in tal van bedrijfskritische toepassingen. Op het moment van omschakeling naar het standby platform is uw data op beide hardware platformen beschikbaar.

    Een ander voordeel van server virtualisatie die frequent door ons wordt toegepast is de schaalbaarheid (scalability) en optimale toekenning van hardware resources voor uw virtuele servers.

    U kan op uw hardware platform perfect opteren voor verschillende virtuele high-end servers: een database server die in een apart proces draait en een aparte processor krijgt toegewezen, een mailserver die gebruik maakt van een aparte processor en voldoende geheugen, de webserver die in zijn eigen geïsoleerd proces draait…

    Drie afzonderlijk, individueel en eenvoudig te beheren server configuraties die eenvoudig te upgraden zijn en naar een ander platform kunnen verplaatst worden zonderde klassieke migratie problematiek. Hosting zonder zorgen!

    Wenst u vrijblijvend meer informatie over de server virtualisatie oplossingen van FirstServed, ons aanbod virtuele servers of high-end, op maat uitgewerkte high-availability server virtualisatie oplossingen? Onze ervaring in dit vakgebied en de verschillende case studies die reeds in de praktijk hun voordelen hebben bewezen zullen u zeker en vast overtuigen.

    No Comments
  • 21st Sep, 2008

    Due to the raising support questions about mobile internet settings, we felt that to provide better service to our customers we should take a deeper look into these systems and try to at least help people out.

    Of course these systems aren’t ours, but since we sell dedicated servers, hosting and mail services we will get in contact with every device present on the internet. And at the moment the amount of cell phones connected to the internet is rising.
    This is partly due to the iPhone, but also due to the raising numbers of smart phones available.
    We will get into details (as far as we can) about phone or operating system specific settings later.
    (Please know that we do not have every phone available so most of these settings were mainly gathered by our own support calls, research on the internet etc.)

    On top of that we will only look at GPRS (EDGE) settings. This is because we think GSM-data (WAP) is now obsolete (like 56K modems are) and 3G is not widely adopted enough.

    First of all, where is GRPS situated on the GSM network?

    When we talk about cell phone technologies we talk about generations, most of these generations have nice names so they are more easy to remember, there’s a small list:

    • 1G (first generation): mainly analogues, but wireless phones
    • 2G: GSM as we know it on the 850, 900, 1800, 1900 frequencies (includes WAP)
      • 2.5G: GPRS
      • 2.75G: EDGE (EGPRS)
    • 3G: UMTS
      • HSDPA
      • HSUPA
      • LTE
    • 4G: WiMAX(?) - future

    As you can see, GPRS is a step between 2G and 3G, to provide better data transport. Edge was an upgrade to GPRS, it gave us better access and didn’t mean a serious adaption to the carrier network which would be needed for a switch to 3G UMTS.
    GSM-data (WAP) fits under 2G, since this was just a data-call between you and the access server, just like our early 56K lines used our phone lines (non-adapted voice-spectrum, ADSL uses the same lines but with other frequencies etc but that’s a bit out of scope here).

    Now we know what WAP, GPRS and EDGE means, so when you encounter EDGE settings in your freshly purchased iPhone, know that your are facing a variant of GPRS which you can try to configure. Knowing this can be particularly useful if the salesmen in the shop tell you to configure GPRS.

    The second step is to configure your connection.
    You can find services and data about the connection on the site of your provider (which is without doubt the most reliable source), but for your convenience we’ve compiled a small list for the 3 major Belgian operators (BASE, Mobistar & Proximus):

    Base
    APN: gprs.base.be
    Username: base
    Password: base
    Provider URL: http://www.base.be/base/nl/home/private/mobile_internet/base_data/settings/manual_settings/page.aspx/4359

    Mobistar
    APN:
    internet.be (private plan)
    web.pro.be (professional plan)
    Paswords and IP’s are not required.
    If the connection fails: some sources report "mobistar" as username and password.
    (unverified source: http://www.intermactivity.be/forum/showthread.php?t=97986)

    Proximus
    APN: internet.proximus.be
    Username: none (leave empty)
    Password: none (leave empty)
    (Tested by FirstServed)

    After entering these settings you should be able to connect to the internet and browse to http://www.firstserved.net or http://www.google.be .
    If these 2 sites don’t work, but you can view http://74.125.39.147 (which should show you the Google homepage), then there is something wrong with the DNS settings of your phone. DNS translates names into numbers for example www.google.be becomes 74.125.39.147.
    In this case you can try using the OpenDNS systems by manually entering these servers:
    Primary DNS: 208.67.222.222
    Secondary DNS: 208.67.220.220
    With these settings you won’t be using the DNS systems of your provider, but you’ll be using free, publicly available servers.

    If you really want to manually set the DNS of your provider, you can use these (unverified) settings:

    BASE
    Primary DNS: unkown
    Secondary DNS: unknown

    Mobistar
    Primary DNS: 212.65.63.10
    Secondary DNS: 212.65.63.145

    Proximus
    Primary DNS: 195.238.2.21
    Secondary DNS: 195.238.2.22

    A table of GPRS settings from networks all over the world can be found here: www.taniwha.org.uk/gprs.html .
    (Please keep in mind that your provider is still the best place to get these settings, if you want them, contact their support services.)

    If you can browse the internet correctly, you are ready to setup your e-mail account on your cell phone.

     

    Greets,

    Koen

    No Comments
  • 21st Sep, 2008

    This an easy to implement yet very usefull feature.
    For instance, we use it to provide our dedicated servers with a redundant path to the network.

    This small walkthrough is based on CentOS, but I’m sure you’ll be able to implement it in other distributions to after having read it.

    First of all:
    Enable the module in /etc/modprobe.conf and pass the necessary parameters:

    alias bond0 bonding
    options bond0 mode=balance-alb miimon=100

    More information about these parameters and the module can be found here:
    http://sourceforge.net/project/showfiles.php?group_id=24692&package_id=146474 (project documentation)
    http://surfnet.dl.sourceforge.net/sourceforge/bonding/bonding.txt (direct link)

    Now you have actually created your bonding device, the only thing left now is to configure it:

    Change directory to the network configuration scripts:

    [root@server ~]# cd /etc/sysconfig/network-scripts/

    Change the scripts for the underlying interfaces, these should be slaves to the bond:

    [root@server network-scripts]# cat ifcfg-eth0
    DEVICE=eth0
    BOOTPROTO=static
    ONBOOT=yes
    TYPE=Ethernet
    MASTER=bond0
    SLAVE=yes
    [root@server network-scripts]# cat ifcfg-eth1
    DEVICE=eth1
    BOOTPROTO=static
    ONBOOT=yes
    TYPE=Ethernet
    MASTER=bond0
    SLAVE=yes

    Now it is time to configure the bond itself, for this example I’ve chosen a DHCP configuration:

    [root@server network-scripts]# cat ifcfg-bond0
    DEVICE=bond0
    BOOTPROTO=dhcp
    ONBOOT=yes
    [root@server network-scripts]#

    You can now restart the network and your bond will be active:

    service network restart

     

    Greets,

    Koen

    No Comments
  • 1st Sep, 2008

    Hi,

    Lately we encountered a network issue with one of our virtualised Windows 2003 servers.
    The symptoms:
    Long downloads fail, there is no error, the datastream just stops.
    Speed drops to zero and stays there.
    But not always, it was pretty unpredictable behaviour.


    At first we thought this was an IIS issue, so we began to search in that direction.
    Changed some parameters, fiddled a bit with the settings…
    But no, we were wrong. This was proved by installing Apache on the system and running into the very same problem.
    We decided to put a sniffer between our server and another testing machine, only to discover a LOT of bad TCP/IP packets.

    A bit demotivated we began a seemingly endless journey on the internet, searching for people who have a problem that resembled ours.
    Until we found a post about someone with a Windows 2000 – Xenserver driver issue.
    (http://forums.citrix.com/message.jspa?messageID=1337520)
    Our attention headed in the direction of the Windows drivers and not to much longer the almighty Google came up with another Citrix post: (http://forums.citrix.com/thread.jspa?threadID=234961&tstart=0).

    This issue kind of resembles an old problem we used to have with Xenserver 3.2 and one of your servers… Anyway, that’s not the problem here, but this does kind of prove there is something fishy with these Xen PV drivers. (Citrix people even admitted it in that page!)

    So finally, we fixed it by disabling TCP/IP offloading in Windows.

    This way not the Xen network card would handle the creation of the TCP checksums, Windows would.
    However, this has one downside, it kind of hogs the first CPU.
    I managed to get 100% cpu usage on CPU0 only by downloading stuff through IIS, so make sure not to many services are sitting on CPU0 only! (I reconfigured MS SQL to use all the cpu’s but cpu0 to prevent the server from running into problems.)

    So, the key to Windows 2003 on XenServer without TCP/IP related headaches is located in the registry at:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\
    DisableTaskOffload=0
    (DWORD value. 0 means disable offload, 1 means enable. By default this key will not be there, you can just add it.)


    For the real adventurous people out there, you can try RSS (Receive-side Scaling), which should make the other cpu’s available for handling NIC packets.

    Personally, I did not test it, but keep in mind that if you DO enable it, this TCP checksum calculation can start having an impact on ALL of your cpu’s.

    The key:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\
    EnableRSS=1

    If now only  Citrix can fix this out of the box, we can be happy!

    Greets,

    Koen

    No Comments