Juniper list price for 1GB of CF is around 100 times what I would expect to pay for a third party card.
The J-Series release notes have a list of supported third party parts, but there is no equivalent list for the M-Series.
J-Series Supported 3rd party hardware
My questions are:
Does anyone have any experiences (good or bad) about using 3rd party flash in an M-Series routing engine?
Should anything on the J-Series supported list work?
Has anyone had JTAC refuse to support a problem on a router with 3rd party flash installed?
I have found the following page which states that, with caveats, off the shelf SanDisk cards should work.
http://juniper.cluepon.net/index.php/Flash_compatibility
It looks like modern, high throughput, cards could cause issues though. I am still interested in hearing anyone else's experiences.
I've successfully installelled Transcend 1GB compact flash cards internally in some lab m10i's.
I was a bit of a novice and had to learn a few things. Perhaps these notes will help someone like me.
The new third party CF is probably formatted some non-USF way (FAT or something). If you just install it and try to boot the routing engine, it might hang at that point (hmmm. how do I know that???)
So you need to format, label, and put a USF filesystem on the card first. Here is how I did that.
Put the CF card in a pcmcia adapter, and plug it into a working router pccard slot.
I had some trouble with the below steps with junos less than 8.5, so I recommend its running 8.5 or higher.)
I also strongly recommend that you do this on a lab box, not a production box, and use the backup Routing engine rather than the active one. I'll explain why later.
Enter the shell as root (start shell user root)...you'll obviously need the root password. You can find root password recovery methods on junipers knowledge base site (hmm...why do I know that now?)
Format the card using dd as follows. Note, be extremely careful with dd. Some say it stands for 'disk destroy'. This command basically writes zeros to the entire disk block by block if I understand it correctly.
root@host% dd if=/dev/zero of=/dev/ad3 bs=128k
Note that 'ad3' is what the card showed up as when I plugged it into the pcmcia adapter on the m10i. It was true for several different m10i boxes I looked at. But I don't know if it will be the same for you. Do a 'show system hardware detail' from your master routing engine and see what it shows up as. Use the correct disk! If you accidentally point to your hard drive (like ad1 on my system) it will wipe your hard disk clean!
Also note that the this command might take 10-15 minutes or even more to complete, and you don't get any realtime feedback..you just wait until it is done.
Also note, this might put quite a strain on system resources and cause you some trouble. Maybe even interfere with normal routing processes. That is why I recommended earlier that you do it on a lab box, and even on the backup routing engine that is not doing any heavy lifting.
Now label the disk using this command: root@host% disklabel -R -w ad3 auto
Now create the new file system: root@host% newfs -U /dev/ad3
To check that things were successful, you can mount the disk as follows first create a directory root@host% mkdir /var/tmp/cf
then mount the disk there root@host% mount /dev/ad3 /var/tmp/cf then check the mount root@host% df -h
If it looks good, then unmount the device before removing it from the pcmcia slot root@host% umount /var/tmp/cf
Okay, now youv'e got a CF card that you can install in the internal slot and it won't hang the boot process. So install it (you can find detailed procedures for this in the Juniper documentation.)
Then boot up the RE. You should see it try to boot from the pcmcia card (nothing in it hopefully), then skip to the internal CF (our new card), and hopefully skip it and proceed to boot from the hard disk drive.
Once successfully booted from the hard disk drive, issue the following command: 'request system snapshot partition '
This will put the correct partitions on the new CF card, and copy the bootable Junos code and configurations from the hard disk drive.
Now reboot, and you should see it boot from your new third party compact flash!
You could save a few bucks on a cheap card but I bet if you have problems Juniper will laugh at you (and tell you to buy their card). If it works, great, if it causes problem, erugh.
I have personally upgraded the compact flash cards in M7i routers, which are the baby brother of the M10i. I used a Sandisk Compact Flash, with the words "Ultra II" on it - I have heard negative things about certain routing engines and the "Ultra III" so watch out.
Other things to be wary about:
Make sure you've recently done "request system snapshot" - just in case.
If you have it turned on, turn OFF mirror-flash-on-disk and REBOOT.
On replacement, do "request system snapshot partition" and then REBOOT to make sure everything is running from the right locations.
Consider doing the hard disk soon afterwards - an 8GB SSD HDD will set you back under $100 and are a lot less likely to fail. Out of four M7is, two have had failed hard disks in under 3 years. It's easy to replace, and follows exactly the same procedure as the Compact Flash replacement.
Don't be clever - stick to 1GB, it's more than enough. Upgrading to 2GB is entirely unnecessary, may have unintended consequences (with respect to different drive speeds) and will stick out like a sore thumb next time you send a support request to your service center, and they ask for a configuration dump.
All the above is unsupported. Keep your old Compact Flash. Test it before bringing any routing protocols or interfaces back online.