Bostjan - Extend a pool and lower RAM footprint

New About Yours API Help
2.5 KB, Plain text
Hi everybody,

I hope you don’t mind me sending long email with two questions.

Question no. 1.

As long as I can remember everybody gives the same advice how to extend a pool. If you have a raidz2 with 4 disks, you add 4 more disks in raidz2 configuration. If you have a pool with 2 mirrors, where each mirror contains 2 disks, you add 4 more disks in the same mirror setup.

I thought that those are the only options how to extend a pool. Until sometime ago in a discussion somebody mention that you can’t add disks do a zpool, but you can add basically any vdev to a pool (I don’t recall exact words).

So I made some test. I got some spare disks and made a quick test lab. Because I had only 4 drives I was little limited what setup I could make.

First I made a pool of a single disk. After that I extended the pool by adding 3 disk deep mirror.
Here is short version of 
# zpool status 
pool: tank 
state: ONLINE 
config: 
gptid/8c5bddba 
   mirror-1 ONLINE 0 0 0 
     gptid/04d85586 
     gptid/058355ea 
     gptid/062f4522 
 
After that I destroyed the pool and created 3 disk deep mirror and then attached another disk – well a VDEV of one disk.
Here is short version of 
# zpool status 
pool: tank3 
 state: ONLINE 
config: 
mirror-0 
     gptid/bf342ae4 
     gptid/bff1fb93 
     gptid/c2328af0 
 gptid/d9dc0f2a 


It gave me chills when I discovered that you can do this. It is very flexible, but you can shoot yourself in a foot with this.

My question.
This was my lab, no harm here. But if you do this by mistake in your production pool, is there a way out? How to solve this kind of mistakes?



My second question:

I want to use a BSD on a low memory (RAM) system. The considered OSes are FreeBSD, FreeNAS and Project Trident (TrueOS). All vanilla flavour, no special compiling, what you get out of the box. All run on ZFS. It will have a zpool of approximately 5 TB of data attached to it.

What can be changed across the board in order to reduce memory foot print? What to look for in a specific OS (numerated above)? What settings to change to limit a process or a feature to use little RAM? Anything to tweak. How to limit ZFS to use less RAM?

This will be more or less an experiment. A learning experience. Not to use it in a production or mission critical environment.

What to look for if I go over the board, for instance to limit usage of RAM to use only 512 MB of RAM? What signs to look for?

I hope you can give me a lot of pointers. Thank you and danke.

Best regards,
Bostjan
Pasted 2 months, 3 weeks ago — Expires in 281 days
URL: http://dpaste.com/35NRF40