Jump to content

Can WIN2003 boot on 64K clusters?


spinjector

Recommended Posts


Yep, it works but is not ideal, the chunk size is larger than most files on the server which is very wasteful on the OS partition. I personally would go with a 10Gb OS partition and a big second partition with the 64Kb chunk size.

Link to comment
Share on other sites

Not only that the PTE size for each allocation would run you out of paged pool memory long before you ever got to any kind of serious uptime on servers that would deal with those files. Unless it's an x64 server (and you have a darned good reason to have such large block sizes), 4 or 8K sizes are much more preferable. And again, I wouldn't even consider it on a 32bit server due to paged pool constraints if you end up with large numbers of files open over a period of time either.

Link to comment
Share on other sites

Ok that's good news... I read the big Microsoft SQL Best-Practices document at http://msdn.microsoft.com/en-us/library/dd758814.aspx which describes how to perform disk-cluster alignment. They use a Dell PE2850 as the example in the document, and that's exactly the hardware I want to do this on, as well as a PE1950 that will probably end up as a domain controller. I did the math and according to the document, the chosen disk configuration on the PE1950 is the worst-case scenario. With RAID-10 on four drives, and both read & write cache enabled, I'm looking at 33% degradation in disk controller efficiency, because every disk access uses 3 cache elements instead of 2.

So...I decided to set the Windows partition and the storage partition both to 64K, and align both to the 64k stripe element size of the PERC5 controller. But I've been stuck between a rock and two hard places, because I need WinPE with both the PERC5 drivers, and the Recovery Console. It's a been a bass-ad bear of a time flipping CD's back & forth, but I finally have what I need. I tried finding some 3rd-party utilities to do what I need, but no partition manager software that I found allowed the granularity of partition starting offset needed to do this.

I was able to boot the WinPE with the injected RAID drivers, arrange the partitions with DISKPART, but then when I installed Windows 2003, it couldn't find the boot loader on the first reboot. I assumed I hosed the MBR along the way, so I tried FIXMBR, but that didn't quite work. Also, the Dell Utility Partition probably got mixed in & messed up along the way, as that wouldn't boot up either.

Tonight I decided to drop it and come back tomorrow with a fresh head and look at it all more carefully. I'm prolly just going to have to play switch-a-roo and experiment until I get it right. If I can make this work on the PE2850 SQL Server that our whole business runs on, it would be pretty darn sweet. Especially if I can demonstrate to the CTO that our overall array efficiency has increased by double-digit percentage points.

Link to comment
Share on other sites

And again, I wouldn't even consider it on a 32bit server due to paged pool constraints if you end up with large numbers of files open over a period of time either.

Ok, explain this paged-pool restraint. They didn't mention anything about that in the whitepaper.

Link to comment
Share on other sites

Aaaah - SQL does it's own memory management and hosts it's own cache. What I stated won't apply for SQL (and in fact, a 64K cluster size in certain scenarios is actually correct). I always forget about SQL :).

Link to comment
Share on other sites

Aaaah - SQL does it's own memory management and hosts it's own cache. What I stated won't apply for SQL (and in fact, a 64K cluster size in certain scenarios is actually correct). I always forget about SQL :).

Sorry to pop your balloon. =-)

But srsly - what's the paged-pool thing? It sounds like a VM issue. We have all Dell-gear here and I was going to do it to the other servers too, because they all need work. I've been pimping them out with more ram, disks, & cpu's, and I was going to do this cluster-alignment thing on our file-servers, too...

Link to comment
Share on other sites

Paged pool memory is a kernel resource - I suggest strongly, if you're going to be getting into doing low-level system optimization, to purchase or borrow Windows Internals' 4th Edition (5th if you are looking at Vista or Win7 machines).

Link to comment
Share on other sites

cluberti - I was reading something elsewhere last week about swap file optimization when the system partition is a RAID volume. It said that about the best you can do is to put the swap file on RAID-0 if you can, since it's non-critical and doesn't need redundancy. This is good because the first system I'm doing this on is RAID-10.

But... Without completely understanding what you're saying, I think I see where it's leading. And in fact I already had an idea for this, which I might be able to modify: add another partition just for the swap file. The plan was to keep the swap file by itself to keep it from getting fragmented with Windows & program files; I do this on my own PC at home.

But, I was originally going to make it 64k clusters like the rest. What if I make it the NTFS default 4k...? Would this lessen the paged-pool depletion you spoke of in your previous post?

Link to comment
Share on other sites

cluberti - I was reading something elsewhere last week about swap file optimization when the system partition is a RAID volume. It said that about the best you can do is to put the swap file on RAID-0 if you can, since it's non-critical and doesn't need redundancy. This is good because the first system I'm doing this on is RAID-10.

But... Without completely understanding what you're saying, I think I see where it's leading. And in fact I already had an idea for this, which I might be able to modify: add another partition just for the swap file. The plan was to keep the swap file by itself to keep it from getting fragmented with Windows & program files; I do this on my own PC at home.

But, I was originally going to make it 64k clusters like the rest. What if I make it the NTFS default 4k...? Would this lessen the paged-pool depletion you spoke of in your previous post?

Note that a paging file (virtual memory pages on disk) is in no way related to a kernel memory pool (paged pool or nonpaged pool). In a 10,000 ft view, a kernel memory pool is a location that drivers and other kernel modules can allocate (and hopefully de-allocate when finished) chunks of address space. The only real difference between the paged pool and the nonpaged pool (other than size - paged pool is always much larger than nonpaged pool) is the fact that the paged pool can all be paged to disk if the memory manager deems it necessary, but nonpaged pool MUST always reside in RAM (hence "paged pool" and "nonpaged pool").

As to the paging file on a SQL server, I believe the SQL performance whitepapers discuss this subject, and I would strongly suggest following that guidance.

Link to comment
Share on other sites

Are your offset's working yet or are you are still in a non-booting situation. If No, can you post your diskpart snippet and we can work on getting your machine bootable, or at least nail down the process of alignment.

Here is my guess based on the samples from the article.

Diskpart

list disk

select disk 0

create partition primary align=1,048,576

assign letter=C:

format fs=ntfs unit=64K label="Local Disk" nowait

If you are having troubles with WinPE support of your drivers, back in the day before Bart Lagerweij, we used to actually have to take a spare IDE drive, plop down a full OS (W2K3 trial version is fine), install your RAID drivers and run diskpart that way. Once in alignment, then you can unplug that HDD from the machine, and reboot to begin your real installation. Just an idea.

Link to comment
Share on other sites

Here's a little hint - if your SQL server is using the paging file at all, you've got serious performance issues - if you're swapping to disk from SQL *at all*, you probably actually need to revisit your tuning and consider turning *down* the max memory size parameter. If that doesn't help, you've underprovisioned the memory in the server and need to add memory and re-tune. If this is an x86 server, you'll have a bit more of a job doing the actual tuning during test to make sure you find the sweet spot between max memory for SQL and the amount of RAM needed on the system than you would on an x64 server, but you have to do it either way. I heard once that "tuning paging files on a SQL server is akin to arranging deck chairs on the Titanic", and it's pretty much spot on.

The only reason you would need a paging file at all is to make sure you have enough paging file configured on the Windows volume in the event there's a system crash that needs to generate a memory dump (so paging file == RAM + 64MB, give or take) - it shouldn't matter at all how large it is, where on the disk it is, etc (you most certainly are NOT placing your databases, logfiles, etc on the Windows \ Program Files volume, right? They're all going on separate volumes for DB, logfiles, etc...... right????? ;)). In a nutshell, there's your SQL tuning hint for the day :) - if you need more, visiting SQL DBA sites and the Microsoft SQL sites on Technet are your next best option - and you can even call Microsoft for help, as they do provide (for a fee) services such as this.

Link to comment
Share on other sites

  • 2 weeks later...
Are your offset's working yet or are you are still in a non-booting situation. If No, can you post your diskpart snippet and we can work on getting your machine bootable, or at least nail down the process of alignment.

If you are having troubles with WinPE support of your drivers, back in the day before Bart Lagerweij, we used to actually have to take a spare IDE drive, plop down a full OS (W2K3 trial version is fine), install your RAID drivers and run diskpart that way. Once in alignment, then you can unplug that HDD from the machine, and reboot to begin your real installation. Just an idea.

Oh I've worked out my script. I just tweaked it some more and I was just about to give it the full run through, but I'm taking a break and checking messages because my head is about to explode. Again. It's been happening around this time every night for the past week.5... =-)

SELECT DISK 0

CREATE PARTITION PRIMARY SIZE=63 ALIGN=1024
ASSIGN LETTER=C
CREATE PARTITION PRIMARY SIZE=16000 ALIGN=65536
ASSIGN LETTER=D
CREATE PARTITION PRIMARY SIZE=8000 ALIGN=16449536
ASSIGN LETTER=E
CREATE PARTITION PRIMARY ALIGN=32833536
ASSIGN LETTER=F

SELECT VOLUME C
FORMAT FS=FAT LABEL=DELLUTIL QUICK
REMOVE LETTER=C
ATTRIBUTES VOLUME SET HIDDEN
SET ID=DE OVERRIDE

SELECT VOLUME D
FORMAT FS=NTFS LABEL=WINDOWS UNIT=4K QUICK
ASSIGN LETTER=C
ACTIVE

SELECT VOLUME E
FORMAT FS=NTFS LABEL=SWAPFILE UNIT=4K QUICK
ASSIGN LETTER=D

SELECT VOLUME F
FORMAT FS=NTFS LABEL=DATA UNIT=64K QUICK
ASSIGN LETTER=E

Followed by writing the custom Dell MBR for the Utility Partition:

DSFI \\.\PHYSICALDRIVE0 0 446 DELLNOPT.MBR

The part that's been killing me the past couple days is I got a bad piece of this nasty cake: KB931761, with KB931760 and KB919529 as frosting & sprinkles. What they boil down to is that Windows 2003 doesn't like partitions created with the WinPE 2.0 Diskpart command. So, as per the KB articles, I've spent the day upgrading the BIOS and four firmwares in the system, modified the registry in the WinPE2, and re-slipstreamed my Win2K3 CDR with the additional hotfix WindowsServer2003-KB931761-x86-ENU.exe from the KB.

So... I'm just about to test this all the way through. I'll let you know what happens. ;)

Link to comment
Share on other sites

Yea ok, that didn't go so well... :lol: LOL

It seems I need to modify my script somewhat with NOERR commands because DISKPART keeps trying to access a volume that isn't there. Then I have to figure out why the one Attribute command is hiding ALL the partitions at the same time.

I'll get back to you tomorrow. I swore I'd leave at 9pm, and here it is 11pm already. :wacko:

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...