04-19-2012
ZFS - overfilled pool
installed Solaris 11 Express on my server machine a while ago. I created a Z2 RAID over five HDDs and created a few ZFS filesystems on it.
Once I (unintentionally) managed to fill the pool completely with data and (to my surprise) the filesystems stopped working - I could not read/delete any data and when I unmounted the pool, I could not even mount it again.
I've heard that this is a standard behavior of ZFS filesystems and that the correct way to avoid such problems in future is not to use the full capacity of the pool.
Now I'm thinking about creating quotas on my filesystems (as they describe in [this article](ZFS: Set or create a filesystem quota)), but I am wondering if that is enough.
I have got a tree hiearchy of filesystems on the pool, e.g. something like this (pool is the name of the zpool and also the name of the root filesystem on the pool):
/pool
/pool/svn
/pool/home
...
Is it OK to just set a quota on "pool" (as they should propagate to all sub-filesystems)? I mean, is this enough to prevent such event to happen again? For instance, would it prevent me to make a new fs snapshot should the quota be overrun?
How much space should I reserve, e.g. make unavailable (I read somewhere that it is a good practise to use only about 80% of the pool capacity)?
Finally, is there a better/more suitable solution to my original problem than setting the quota on fs?
Thank you very much for your advice.
Dusan
10 More Discussions You Might Find Interesting
1. Solaris
Hi all
I plan to install Solaris 10U6 on some SPARC server using ZFS as root pool, whereas I would like to keep the current setup done by VxVM:
- 2 internal disks: c0t0d0 and c0t1d0
- bootable root-volume (mirrored, both disks)
- 1 non-mirrored swap slice
- 1 non-mirrored slices for Live... (1 Reply)
Discussion started by: blicki
1 Replies
2. Infrastructure Monitoring
Here are the details.
cnjr-opennms>root$ zfs list
NAME USED AVAIL REFER MOUNTPOINT
openpool 20.6G 46.3G 35.5K /openpool
openpool/ROOT 15.4G 46.3G 18K legacy
openpool/ROOT/rds 15.4G 46.3G 15.3G /
openpool/ROOT/rds/var 102M ... (3 Replies)
Discussion started by: pupp
3 Replies
3. Solaris
I created a pool the other day. I created a 10 gig files just for a test, then deleted it.
I proceeded to create a few files systems. But for some reason the pool shows 10% full, but the files systems are both at 1%? Both files systems share the same pool.
When I ls -al the pool I just... (6 Replies)
Discussion started by: mrlayance
6 Replies
4. Solaris
Hi guys,
We had created a pool as follows:
zpool create filing_pool raidz c1t2d0 c1t3d0 ........
Due to some requirement, we need to destroy the pool and re-create another one. We wish to know now which disks have been included in the filing_pool, how do we list the disks used to create... (2 Replies)
Discussion started by: frum
2 Replies
5. Solaris
I need to migrate an existing raidz pool to a new raidz pool with larger disks. I need the mount points and attributes to migrate as well. What is the best procedure to accomplish this. The current pool is 6x36GB disks 202GB capacity and I am migrating to 5x 72GB disks 340GB capacity. (2 Replies)
Discussion started by: jac
2 Replies
6. Solaris
Other than export/import, is there a cleaner way to rename a pool without unmounting de FS?
Something like, say "zpool rename a b"?
Thanks. (2 Replies)
Discussion started by: verdepollo
2 Replies
7. Solaris
I have a branded zone txdjintra that utilizes a pool named Pool_djintra that is no longer required. There is a 150 Gig Lun assigned to the pool that I need to reassign to another branded zone txpsrsrv07 with a pool named Pool_txpsrsrv07 on the same sun blade. What is the process to do this?
... (0 Replies)
Discussion started by: jeffsr
0 Replies
8. Solaris
Hi Guys,
I have a single ZFS pool with 2 disk which is mirrored if i create a new BE with lucreate should i specify which disk where the new BE should be created? (7 Replies)
Discussion started by: batas
7 Replies
9. Solaris
I accidently added a disk in different zpool instead of pool, where I want.
root@prtdrd21:/# zpool status cvfdb2_app_pool
pool: cvfdb2_app_pool
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
cvfdb2_app_pool ONLINE 0 0 0... (1 Reply)
Discussion started by: solaris_1977
1 Replies
10. Solaris
I have a newly created zpool, and I have set compression on, for the whole pool:
# zfs set compression=on newPool
Now I have zfs send | zfs receive lot of snapshots to my newPool, but the compression is gone. I was hoping that I would be able to send snapshots to the new pool (which is... (0 Replies)
Discussion started by: kebabbert
0 Replies
LEARN ABOUT SUNOS
asadmin-ping-connection-pool
asadmin-ping-connection-pool(1AS) User Commands asadmin-ping-connection-pool(1AS)
NAME
asadmin-ping-connection-pool, ping-connection-pool - tests that a connection pool is usable
SYNOPSIS
ping-connection-pool --user admin_user [--password admin_password] [--host localhost] [--port 4848] [--secure|-s] [--passwordfile filename]
[--terse=false] [--echo=false] [--interactive=true] pool_name
Tests that a connection pool is usable for both JDBC connection pools and connector connection pools. For example, if you create a new JDBC
connection pool for use with an application that is expected to be deployed, before deploying the application, the previously created pool
is tested with this command.
This command is supported in remote mode only.
OPTIONS
--user authorized domain application server administrative username.
--password password to administer the domain application server.
--host machine name where the domain application server is running.
--port port number of the domain application server listening for administration requests.
--secure if true, uses SSL/TLS to communicate with the domain application server.
--passwordfile file containing the domain application server password.
--terse indicates that any output data must be very concise, typically avoiding human-friendly sentences and favoring well-
formatted data for consumption by a script. Default is false.
--echo setting to true will echo the command line statement on the standard output. Default is false.
--interactive if set to true (default), only the required password options are prompted.
OPERANDS
poolname name of the connection pool to be tested.
Example 1: Using ping-connection-pool
Before you can ping a connection pool, you must:
o Create a connection pool with authentication.
o Make sure the Enterprise Information Server (can be the database) is started.
asadmin> ping-connection-pool --user admin1 --password adminadmin1
--host pigeon --port 5001 sampleConnectionPool
Command ping-connection-pool executed successfully
EXIT STATUS
0 command executed successfully
1 error in executing the command
asadmin-create-connector-connection-pool(1AS), asadmin-delete-connector-connection-pool(1AS), asadmin-list-connector-connection-pool(1AS),
asadmin-create-jdbc-connection-pool(1AS), asadmin-delete--jdbc-connection-pool(1AS)asadmin- list--jdbc-connection-pools(1AS)
J2EE 1.4 SDK March 2004 asadmin-ping-connection-pool(1AS)