Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account


Photo

Can WIN2003 boot on 64K clusters?

- - - - -

  • Please log in to reply
22 replies to this topic

#1
spinjector

spinjector

    Member

  • Member
  • PipPip
  • 122 posts
  • Joined 11-June 09
Is it possible for Windows 2003 to boot from a C: drive formatted as NTFS with 64K clusters (the max size)?


How to remove advertisement from MSFN

#2
MrJinje

MrJinje

    Tool™ Developer

  • Developer
  • 1,039 posts
  • Joined 14-October 09
  • OS:none specified
  • Country: Country Flag
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
cluberti

cluberti

    Gustatus similis pullus

  • Supervisor
  • 11,252 posts
  • Joined 09-September 01
  • OS:Windows 8.1 x64
  • Country: Country Flag
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.
MCTS Windows Internals, MCITP Server 2008 EA, MCTS MDT/BDD, MCSE/MCSA Server 2003, Server 2012, Windows 8
--------------------
Please read the rules before posting!
Please consider donating to MSFN to keep it up and running!

#4
spinjector

spinjector

    Member

  • Member
  • PipPip
  • 122 posts
  • Joined 11-June 09
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
spinjector

spinjector

    Member

  • Member
  • PipPip
  • 122 posts
  • Joined 11-June 09

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
cluberti

cluberti

    Gustatus similis pullus

  • Supervisor
  • 11,252 posts
  • Joined 09-September 01
  • OS:Windows 8.1 x64
  • Country: Country Flag
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 :).
MCTS Windows Internals, MCITP Server 2008 EA, MCTS MDT/BDD, MCSE/MCSA Server 2003, Server 2012, Windows 8
--------------------
Please read the rules before posting!
Please consider donating to MSFN to keep it up and running!

#7
spinjector

spinjector

    Member

  • Member
  • PipPip
  • 122 posts
  • Joined 11-June 09

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
cluberti

cluberti

    Gustatus similis pullus

  • Supervisor
  • 11,252 posts
  • Joined 09-September 01
  • OS:Windows 8.1 x64
  • Country: Country Flag
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).
MCTS Windows Internals, MCITP Server 2008 EA, MCTS MDT/BDD, MCSE/MCSA Server 2003, Server 2012, Windows 8
--------------------
Please read the rules before posting!
Please consider donating to MSFN to keep it up and running!

#9
spinjector

spinjector

    Member

  • Member
  • PipPip
  • 122 posts
  • Joined 11-June 09
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
cluberti

cluberti

    Gustatus similis pullus

  • Supervisor
  • 11,252 posts
  • Joined 09-September 01
  • OS:Windows 8.1 x64
  • Country: Country Flag

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.
MCTS Windows Internals, MCITP Server 2008 EA, MCTS MDT/BDD, MCSE/MCSA Server 2003, Server 2012, Windows 8
--------------------
Please read the rules before posting!
Please consider donating to MSFN to keep it up and running!

#11
MrJinje

MrJinje

    Tool™ Developer

  • Developer
  • 1,039 posts
  • Joined 14-October 09
  • OS:none specified
  • Country: Country Flag
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.

#12
spinjector

spinjector

    Member

  • Member
  • PipPip
  • 122 posts
  • Joined 11-June 09
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
cluberti

cluberti

    Gustatus similis pullus

  • Supervisor
  • 11,252 posts
  • Joined 09-September 01
  • OS:Windows 8.1 x64
  • Country: Country Flag
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.
MCTS Windows Internals, MCITP Server 2008 EA, MCTS MDT/BDD, MCSE/MCSA Server 2003, Server 2012, Windows 8
--------------------
Please read the rules before posting!
Please consider donating to MSFN to keep it up and running!

#14
spinjector

spinjector

    Member

  • Member
  • PipPip
  • 122 posts
  • Joined 11-June 09

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
spinjector

spinjector

    Member

  • Member
  • PipPip
  • 122 posts
  • Joined 11-June 09
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
spinjector

spinjector

    Member

  • Member
  • PipPip
  • 122 posts
  • Joined 11-June 09
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
cluberti

cluberti

    Gustatus similis pullus

  • Supervisor
  • 11,252 posts
  • Joined 09-September 01
  • OS:Windows 8.1 x64
  • Country: Country Flag
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.
MCTS Windows Internals, MCITP Server 2008 EA, MCTS MDT/BDD, MCSE/MCSA Server 2003, Server 2012, Windows 8
--------------------
Please read the rules before posting!
Please consider donating to MSFN to keep it up and running!

#18
spinjector

spinjector

    Member

  • Member
  • PipPip
  • 122 posts
  • Joined 11-June 09

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
cluberti

cluberti

    Gustatus similis pullus

  • Supervisor
  • 11,252 posts
  • Joined 09-September 01
  • OS:Windows 8.1 x64
  • Country: Country Flag
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.
MCTS Windows Internals, MCITP Server 2008 EA, MCTS MDT/BDD, MCSE/MCSA Server 2003, Server 2012, Windows 8
--------------------
Please read the rules before posting!
Please consider donating to MSFN to keep it up and running!

#20
spinjector

spinjector

    Member

  • Member
  • PipPip
  • 122 posts
  • Joined 11-June 09

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.

#21
cluberti

cluberti

    Gustatus similis pullus

  • Supervisor
  • 11,252 posts
  • Joined 09-September 01
  • OS:Windows 8.1 x64
  • Country: Country Flag
Well, then I have no idea ;). I've never had that happen to me before, but I'm not running diskpart on W2K3 anymore so it's possible you've found a bug. What's not likely is that if you found one they'd fix it unless you could repro it against 2008 or 2008 R2 ;).
MCTS Windows Internals, MCITP Server 2008 EA, MCTS MDT/BDD, MCSE/MCSA Server 2003, Server 2012, Windows 8
--------------------
Please read the rules before posting!
Please consider donating to MSFN to keep it up and running!

#22
spinjector

spinjector

    Member

  • Member
  • PipPip
  • 122 posts
  • Joined 11-June 09
Well what a couple of weeks this has been. After pulling my hair out for many days, fighting a battle I couldn't win with Microsoft & 3rd-party programs & utilities that absolutely would NOT put my partitions where I wanted them, I gave up.

And then I wrote my own. =-)

Well sorta... I used DSFO to export my MBR to a file, and then attacked it with an Excel spreadsheet. It's taken me a week of 12-hour days to learn the bytes of the MBR, and then adding formulas, VBA, and conditional formats to my spreadsheet. What I end up with is an MBR the way I want it, which I then write back to the server with DSFI.

I just cranked up Easeus Partition Manager, which recognized the partitions immediately with no fuss, and was able to format them - also with no fuss. I then checked all of the partition properties to check the cluster positions, and they're all spot-on to what I set them to.

This afternoon I've been struggling with installing Windows 2003. Text mode setup doesn't like something on this box and it always locks up at the "Setup is checking your system configuration...". I've tried every fix I've seen mentioned and none have worked so far, but I'm still working on it.

#23
jaclaz

jaclaz

    The Finder

  • Developer
  • 14,411 posts
  • Joined 23-July 04
  • OS:none specified
  • Country: Country Flag

Well what a couple of weeks this has been. After pulling my hair out for many days, fighting a battle I couldn't win with Microsoft & 3rd-party programs & utilities that absolutely would NOT put my partitions where I wanted them, I gave up.

And then I wrote my own. =-)

Well sorta... I used DSFO to export my MBR to a file, and then attacked it with an Excel spreadsheet. It's taken me a week of 12-hour days to learn the bytes of the MBR, and then adding formulas, VBA, and conditional formats to my spreadsheet. What I end up with is an MBR the way I want it, which I then write back to the server with DSFI.

I just cranked up Easeus Partition Manager, which recognized the partitions immediately with no fuss, and was able to format them - also with no fuss. I then checked all of the partition properties to check the cluster positions, and they're all spot-on to what I set them to.

This afternoon I've been struggling with installing Windows 2003. Text mode setup doesn't like something on this box and it always locks up at the "Setup is checking your system configuration...". I've tried every fix I've seen mentioned and none have worked so far, but I'm still working on it.


Well, just in case:
MBRBATCH
http://www.boot-land...?showtopic=3191

CHS<->LBA spreadsheets:
http://www.boot-land...?showtopic=2959
(no VBA used as to make them "work" on "any" spreadsheet app)

jaclaz




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users



How to remove advertisement from MSFN