03.07
So for the past couple of weeks I have been doing work at a client’s place of business. This client—like many other small and medium-sized businesses—uses Windows on all of their desktop systems. They have a couple of server boxes that are running GNU/Linux servers, but they are not running GNU/Linux on the desktop at this point in time.
So, this is a pretty simple-sounding network, yes? It should be—it is just a handful of computer systems. However, there is a problem—a pretty large one, I think. There is very little in the way of either policy or convention on the network. Some users use their documents directory for storing their documents, others store their documents on their desktop, others somewhere differently altogether on the C drive, others on a network share in a public storage space. There are different versions of software on the various machines, more-or-less updated when someone thinks about it, I think.
This is a perfect scenario which shows why a business network should be centrally managed in some form. Note that I am not saying that each machine should be a bit-for-bit mirror image of the one next to it, though that is certainly a possibility. I think that people should be able to use their own choice of things like email client or Web browser software, because everyone is different. But when you have different client applications fulfilling a role on the individual workstations, you have to take a centralized approach to ensuring that things like the email is all backed up.
Furthermore, if you don’t take a centralized approach to backing up such data, it is very difficult to centralize the network storage. Think about adding a domain controller (that is Windows speak for a central server which handles authentication and authorization, as well as file and printer sharing and things like roaming profiles) to such a network. I expect that with multi-gigabyte mail files, things will be very slow at first—and that likely the only fix for them that is going to be viable in the long term is to centralize more infrastructure.
I am too tired to expand more on my thoughts on what I have learned and where it is heading, but the Reader’s Digest version of the point reads something like this: If you are a small to medium sized business, make sure that you have someone who is competent in both system and network administration, and make sure that they are a part of your business from day one. Like writing software, building up a technical infrastructure without careful thought and design is hazardous and comes with many hidden and unpredictable costs. It is best to head those things off right from the start; to delay only amplifies the cost of fixing the underlying problems and puts oneself in the position where fixing one issue can have a domino-like effect and create more new problems.
For my current situation, I think I am going to have to seriously re-think how this whole setup is done. What I do not yet know is how to quickly and efficiently bring things into shape. A bit of training and education may be required, and certainly the removal of a lot of unnecessarily-granted privileges on the workstations. That, too, should be something caught early-on: do not let every person in a business run with administrator privilege, unless they are an administrator (and even they should only run with administrator privilege when they are actually doing something that requires that privilege). If everyone is an administrator, there is little to no control on how things are done in a network, and it can get messy.
I have a lot more reading to do, as well.
Well, anyway, it is way past my bedtime. Time for sleep.
Great Article,
I find that the best way to speed up a computer is by defragmenting it.
You can use the Windows Defrag Tool that can speed up your computer by miles, I recently ran it on my five year old Windows XP Machine and now it flys!
Saves you money as you don’t have to buy a new computer.
@John Cain: I may not be a Windows user, but I was, once upon a time. The FAT and NTFS filesystems both require relatively regular defragmentation compared to other filesystems.
A few issues that I have with your comment: you say that “I find that the best way to speed up a computer is by defragmenting it.” This sounds like the sales pitch for a lot of fly-by-night Web sites that claim to fix up your computer and make it run faster. It is vague, and it is so simplistic as to be incorrect. Now, do not take too much offense to that—I suspect that Windows running on FAT or NTFS is probably all that you know and so maybe you feel that your statement is absolutely correct. If that is the case, do read on.
Microsoft’s operating systems know how to speak to two major filesystems, the File Allocation Table (FAT) filesystem and the New Technology File System (NTFS). The FAT filesystem is a very simple filesystem with a fixed layout, and it comes in 12, 16, and 32-bit sizes (e.g., FAT12, FAT16, and FAT32). These filesystems only natively support short file names and are easily subject to filesystem corruption, as the filesystem family’s core design did not change much since 1980 and were not intended for the highly multitasking environments that it was used in near its end-of-life as a primary hard disk filesystem. Also, it was subject to extreme fragmentation, as DOS and Windows did not take any measures to try to proactively keep files from becoming fragmented.
Now, in modern versions of Windows which use NTFS as their primary filesystem, file fragmentation is not (as much) of a problem. It still of course is a problem, because it needs to be periodically defragmented. However, where one would typically recommend that a FAT16 or FAT32 filesystem be defragmented once a week, one can today easily recommend that NTFS filesystems on average consumer Windows systems can be defragmented once per month, or even once every other month. There is no harm in doing it more frequently than that, but it is not typically necessary to do so in order to keep filesystem performance up.
Now, to change gears a little bit: there are other filesystems and operating systems out there, and so your statement is perhaps most correctly stated thus: “… the best way to speed up an FAT or NTFS filesystem is to defragment it regularly.” Also, I do not run with FAT or NTFS on my hard disk as a primary filesystem, as I use GNU/Linux, and today I use both ext4 and btrfs for filesystems. I have been using the ext2/3/4 family for years, and not one have I actually run into a situation where file fragmentation was a problem on such a filesystem. Granted, for file fragmentation to be a problem on ext2 or ext3 you had to be running very heavy loads with a great number of users.