Storage: CF-card, problems and solutions
Problems that we had while using Sandisk 8GB Compact Flash on the stargates:
- With the CF-card in the CF slot of a stargate, writing to the CF-card occasionally(and randomly) caused the stargate to crash.
- Under the same condition, sometimes the file system of the CF became 'read-only' and writing failed.
- With the CF-card in a USB Flash Reader, several processes writings to the CF-card show 'Cannot create i-node. disk full(?)' message.
Possible causes :
- Stargate does not support 8GB CF-card; it is too big.
- CF-driver on stargate: (With a USB Card Reader, Problem 1 and 2 do not happen. And the driver loaded for the USB card reader is different from that of the CF-card by itself.)
Alternative Plans :
- USB Storage, expecially USB Hard Disk drive
- + Relatively cheap and large.
- - Power consumption. (usually external power needed)
- USB Flash Memory Reader
- + No external power needed/
-
Tests :
- Writing test on a USB Hard disk drive with a Stargate
- We copy 5M file to it, and continue to replicate until its usage becomes 8 GB.
- It works without crash.
- We have tried the same test with following USB Flash Readers.
Manufacturer Product Name
-------------------------------------------------------------------
COMPUSA 9-in-1 External Flash Media Reader/Writer
SanDisk Compact Flash Card Reader
Acsense CR-101 Multi-Card Reader
Q-Stor USB 2.0 3-Port HUB 33 in 1 Card Reader/Writer
Among them, only the one manufactured by Q-Stor is compatible with Stargate.
With it, CF works without crash
- As problem 3 shows, under the same condition, several writings from different processes
that are not sequential can cause them to fail. So, we partitioned 8GB CF to three
(each partition is less than 4GB) and set up each log files (application, router, etc)
to be separated to different partition. Then, problem 3 is resolved.
What did we decide to do?
- partitioned the CF-card into small chunk (2G,3G,2G),
- log application-log into one partition, and router-log into another, (do contiguous/sequential writes)
- reduce the amount of data,
- use CF-Reader for stargate 121 (with the most data), and not for other stargates.
Conclusion :
If you need a large storage,
- use USB hard disk drive or CF with USB Flash Reader.
- partition it, so that each partition to be less than 4GB.
- let writing to the CF be sequential on each partition.
How to make partition on CF :
$) fdisk // 'fdisk' is not in the Stargate distribution, so you may need to compile it.
How to make file system on CF :
$) mkfs /dev/sda1
- Jeongyeup Paek, Ki-Young Jang