MSFN Forum: Can WIN2003 boot on 64K clusters? - MSFN Forum

Jump to content


  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

Can WIN2003 boot on 64K clusters? Rate Topic: -----

#1 User is offline   spinjector 

  • Member
  • PipPip
  • Group: Members
  • Posts: 120
  • Joined: 11-June 09

Posted 18 January 2010 - 08:36 PM

Is it possible for Windows 2003 to boot from a C: drive formatted as NTFS with 64K clusters (the max size)?


#2 User is offline   MrJinje 

  • Tool™ Developer
  • Group: Developers
  • Posts: 942
  • Joined: 14-October 09
  • OS:none specified
  • Country: Country Flag

  Posted 18 January 2010 - 10:05 PM

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.

#3 User is offline   cluberti 

  • Gustatus similis pullus
  • Group: Supervisor
  • Posts: 11,208
  • Joined: 09-September 01
  • OS:Windows RT
  • Country: Country Flag

Posted 18 January 2010 - 11:02 PM

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.

#4 User is offline   spinjector 

  • Member
  • PipPip
  • Group: Members
  • Posts: 120
  • Joined: 11-June 09

Posted 18 January 2010 - 11:21 PM

Ok that's good news... I read the big Microsoft SQL Best-Practices document at http://msdn.microsof...y/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.

#5 User is offline   spinjector 

  • Member
  • PipPip
  • Group: Members
  • Posts: 120
  • Joined: 11-June 09

Posted 18 January 2010 - 11:23 PM

View Postcluberti, on Jan 19 2010, 12:02 AM, said:

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.

#6 User is offline   cluberti 

  • Gustatus similis pullus
  • Group: Supervisor
  • Posts: 11,208
  • Joined: 09-September 01
  • OS:Windows RT
  • Country: Country Flag

Posted 18 January 2010 - 11:25 PM

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 :).

#7 User is offline   spinjector 

  • Member
  • PipPip
  • Group: Members
  • Posts: 120
  • Joined: 11-June 09

Posted 19 January 2010 - 09:21 AM

View Postcluberti, on Jan 19 2010, 12:25 AM, said:

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...

#8 User is offline   cluberti 

  • Gustatus similis pullus
  • Group: Supervisor
  • Posts: 11,208
  • Joined: 09-September 01
  • OS:Windows RT
  • Country: Country Flag

Posted 19 January 2010 - 11:05 AM

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).

#9 User is offline   spinjector 

  • Member
  • PipPip
  • Group: Members
  • Posts: 120
  • Joined: 11-June 09

Posted 19 January 2010 - 04:38 PM

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?

#10 User is offline   cluberti 

  • Gustatus similis pullus
  • Group: Supervisor
  • Posts: 11,208
  • Joined: 09-September 01
  • OS:Windows RT
  • Country: Country Flag

Posted 19 January 2010 - 05:06 PM

View Postspinjector, on Jan 19 2010, 05:38 PM, said:

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.

#11 User is offline   MrJinje 

  • Tool™ Developer
  • Group: Developers
  • Posts: 942
  • Joined: 14-October 09
  • OS:none specified
  • Country: Country Flag

  Posted 19 January 2010 - 05:53 PM

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.

Quote

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.

#12 User is offline   spinjector 

  • Member
  • PipPip
  • Group: Members
  • Posts: 120
  • Joined: 11-June 09

Posted 19 January 2010 - 05:55 PM

Ok I guess I have some more reading to do. Any suggestions for online documents? The two white-papers I've read so far didn't cover this.

#13 User is offline   cluberti 

  • Gustatus similis pullus
  • Group: Supervisor
  • Posts: 11,208
  • Joined: 09-September 01
  • OS:Windows RT
  • Country: Country Flag

Posted 19 January 2010 - 06:00 PM

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.

#14 User is offline   spinjector 

  • Member
  • PipPip
  • Group: Members
  • Posts: 120
  • Joined: 11-June 09

Posted 27 January 2010 - 09:46 PM

View PostMrJinje, on Jan 19 2010, 06:53 PM, said:

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. ;)

#15 User is offline   spinjector 

  • Member
  • PipPip
  • Group: Members
  • Posts: 120
  • Joined: 11-June 09

Posted 27 January 2010 - 09:55 PM

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:

#16 User is offline   spinjector 

  • Member
  • PipPip
  • Group: Members
  • Posts: 120
  • Joined: 11-June 09

Posted 27 January 2010 - 10:18 PM

Ok either I'm not understanding the syntax of the ATTRIBUTES VOLUME command, or I've found a bug in DISKPART.

If I do this, either by script or typing in the commands at the prompt...

SELECT VOLUME 2
ATTRIBUTES VOLUME SET HIDDEN

...it hides ALL the partitions at the same time..!!!

And if I do this...

SELECT VOLUME 2
ATTRIBUTES VOLUME CLEAR HIDDEN

...it UNHIDES them all...!!!

Am I losing my mind...? :huh:

#17 User is offline   cluberti 

  • Gustatus similis pullus
  • Group: Supervisor
  • Posts: 11,208
  • Joined: 09-September 01
  • OS:Windows RT
  • Country: Country Flag

Posted 28 January 2010 - 09:20 AM

I'm assuming you're running these manually - after you SEL VOL 2, run LIST PART to see what partitions it thinks are on volume 2. I'm guessing it'll be all of them.

#18 User is offline   spinjector 

  • Member
  • PipPip
  • Group: Members
  • Posts: 120
  • Joined: 11-June 09

Posted 28 January 2010 - 11:01 AM

View Postcluberti, on Jan 28 2010, 10:20 AM, said:

I'm assuming you're running these manually - after you SEL VOL 2, run LIST PART to see what partitions it thinks are on volume 2. I'm guessing it'll be all of them.

Nope. No matter what I do, Diskpart is hiding/unhiding ALL of the partitions/volumes at the same time as one group.

Either I'm missing some fundamental concept or command, or something is goofy in my setup.

I've copied/pasted the entire sequence below.

I typed all my commands in lowercase so they could be differentiated better.

Towards the end, you'll see the hide/list and everything is hidden, then unhide/list and everything is unhidden. Arrrghh!!!

N:\>diskpart

Microsoft DiskPart version 6.0.6000
Copyright (C) 1999-2007 Microsoft Corporation.
On computer: MININT-64IFCHO

DISKPART> select disk 0

Disk 0 is now the selected disk.

DISKPART> list partition

  Partition ###  Type			  Size	 Offset
  -------------  ----------------  -------  -------
  Partition 1	Primary			 63 MB  1024 KB
  Partition 2	Primary			 16 GB	64 MB
  Partition 3	Primary		   7552 MB	18 GB
  Partition 4	Primary			656 GB	27 GB

DISKPART> select partition 1

Partition 1 is now the selected partition.

DISKPART> list volume

  Volume ###  Ltr  Label		Fs	 Type		Size	 Status	 Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0	 M   CD_ROM	   CDFS   DVD-ROM	  189 MB  Healthy
* Volume 1		 DELLUTIL	 FAT	Partition	 63 MB  Healthy
  Volume 2	 C   WINDOWS	  NTFS   Partition	 16 GB  Healthy
  Volume 3	 D   SWAPFILE	 NTFS   Partition   7552 MB  Healthy
  Volume 4	 E   DATA		 NTFS   Partition	656 GB  Healthy
  Volume 5	 N   USBDRIVE	 FAT32  Removable   1937 MB  Healthy

DISKPART> attributes volume set hidden

Volume attributes set successfully.

DISKPART> list volume

  Volume ###  Ltr  Label		Fs	 Type		Size	 Status	 Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0	 M   CD_ROM	   CDFS   DVD-ROM	  189 MB  Healthy
* Volume 1		 DELLUTIL	 FAT	Partition	 63 MB  Healthy	Hidden
  Volume 2		 WINDOWS	  NTFS   Partition	 16 GB  Healthy	Hidden
  Volume 3		 SWAPFILE	 NTFS   Partition   7552 MB  Healthy	Hidden
  Volume 4		 DATA		 NTFS   Partition	656 GB  Healthy	Hidden
  Volume 5	 N   USBDRIVE	 FAT32  Removable   1937 MB  Healthy

DISKPART> attributes volume clear hidden

Volume attributes cleared successfully.

DISKPART> list volume

  Volume ###  Ltr  Label		Fs	 Type		Size	 Status	 Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0	 M   CD_ROM	   CDFS   DVD-ROM	  189 MB  Healthy
* Volume 1		 DELLUTIL	 FAT	Partition	 63 MB  Healthy
  Volume 2	 C   WINDOWS	  NTFS   Partition	 16 GB  Healthy
  Volume 3	 D   SWAPFILE	 NTFS   Partition   7552 MB  Healthy
  Volume 4	 E   DATA		 NTFS   Partition	656 GB  Healthy
  Volume 5	 N   USBDRIVE	 FAT32  Removable   1937 MB  Healthy

DISKPART> exit

Leaving DiskPart...

N:\>


#19 User is offline   cluberti 

  • Gustatus similis pullus
  • Group: Supervisor
  • Posts: 11,208
  • Joined: 09-September 01
  • OS:Windows RT
  • Country: Country Flag

Posted 28 January 2010 - 02:08 PM

You haven't run a select command on a volume - so it's hiding ALL fixed volumes. It's doing what you told it to do.

#20 User is offline   spinjector 

  • Member
  • PipPip
  • Group: Members
  • Posts: 120
  • Joined: 11-June 09

Posted 28 January 2010 - 04:41 PM

View Postcluberti, on Jan 28 2010, 03:08 PM, said:

You haven't run a select command on a volume - so it's hiding ALL fixed volumes. It's doing what you told it to do.

Volume 1 is selected by default when SEL PART 1 is issued.

In fact, it states in the documentation, that if you SEL VOL X, it automatically selects the disk & partition that volume is on.

If you look just before the SET HIDDEN, under LIST VOL, there is an asterisk next to Volume 1 to indicate it's selected.

I also thought the same thing, and I tried various combinations of SELECT commands to make certain the right object was selected. But the outcome was the same every time.

Share this topic:


  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

2 User(s) are reading this topic
0 members, 2 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2013 msfn.org
Privacy Policy