Sponsored Content
Full Discussion: ZPOOL help..
Operating Systems Solaris ZPOOL help.. Post 302538155 by jlliagre on Tuesday 12th of July 2011 01:31:57 AM
Old 07-12-2011
Removing a disk from a pool is unsupported. I'm afraid your only option is to backup all your pool dataset hierarchy, destroy your pool, create the mirror and restore from backup. A safer way would be to use a third disk as intermediary device.
 

10 More Discussions You Might Find Interesting

1. Solaris

need zpool to revert...

hi i have created a pool using zpool command for my /dev/dsk/c1d0s3 disk. The poolname is qwertyuiopasdfghjklmnbvcxzzxcvbnmasdfghjklqwertyuiopoiuytrewqasdfghjklkjhgfdsazxcvbnmmnbnbcxczxzassd ddddvfhfghgjjgjhgkhkljfjlhohihiuyuioyguioyguiowyuiogwyuigwrigywuigyguiyuiogyugiyguioyuyguiowygiuygui... (1 Reply)
Discussion started by: SankarV
1 Replies

2. Solaris

Remove the exported zpool

I had a pool which was exported and due to some issues on my SAN i was never able to import it again. Can anyone tell me how can i destroy the exported pool to free up the LUN. I tried to create a new pool on the same pool but it gives me following error # zpool create emcpool4 emcpower0c... (0 Replies)
Discussion started by: fugitive
0 Replies

3. Solaris

Amount of LUNs used for zpool

Hi folks, is there any rule or best practise for amount of LUNs user for zpool construction (from view of performance etc.)?? THX (4 Replies)
Discussion started by: brusell
4 Replies

4. Solaris

zpool hasn't expanded

Hi Guys, I have a raidz zpool that consists of four disks. 2x2TB, 1x1TB and 1x0.75TB. Originally it was only 1x1TB, 3x0.75TB, and I had around 1.7TB of storage capacity. I've just switched out two of the 0.75TB disks for the 2x2TB ones. I did this one at a time and now the resilvering is... (2 Replies)
Discussion started by: rudigarude
2 Replies

5. Solaris

Zpool query

Hi, I have an X86pc with Solaris 10 and ZFS system. It has 8 similar disks. I need help in creating some zpools and changing the mount-point of a slice. Currently, the zpool in my system is like this: root@abcxxx>zpool status pool: rpool state: ONLINE scrub: none requested... (4 Replies)
Discussion started by: mystition
4 Replies

6. Solaris

How to tell what disks are used for a zpool?

Hello, Does anyone know how I can tell what disk are being not being used by a zpool? For example in Veritas Volume manager, I can run a "vxdisk list" and disks that are marked as "online invalid" are disk that are not used. I'm looking for a similar command in ZFS which will easily show... (5 Replies)
Discussion started by: robertinoau
5 Replies

7. Solaris

Shrinking zpool

Hello experts, I have a solaris 10 (SunOS 5.10 Generic_148888-05 sun4u sparc SUNW,SPARC-Enterprise) that by mistake I added a second san space of 700g to the pool. the whole pool is now 1.2T and, I need to take the space away from the pool and, make the pool 700g total. this is live oracle... (7 Replies)
Discussion started by: afadaghi
7 Replies

8. Solaris

Zpool device weirdness

Weird duplicate device in one of my nested raidz1s - device is shown as both online and unavailable, with a hot spare showing up as degraded as well. Any thoughts on how I should proceed? root@storage# zpool status tank pool: tank state: DEGRADED status: One or more devices are... (6 Replies)
Discussion started by: DoohanMcGirk
6 Replies

9. BSD

Zpool problem

Hi I have a problem with size on zfs filesystem on FreeBSD 9.2-RELEASE-p3. When I do this: free01# df -Th Filesystem Type Size Used Avail Capacity Mounted on /dev/ufs/FreeNASdde ufs 926M 826M 26M 97% / devfs devfs ... (1 Reply)
Discussion started by: primo102
1 Replies

10. Solaris

Zpool mirroring

Now this doesnt look right to me. All of these disks are 100Gb LUNS so total zpool size is 300Gb. Am I right in saying that this zpool consists of two disks plus one more disk that is 6 way mirrored? So a bit pointless because only one of the three is mirrored (and 6 way is a bit of overkill... (3 Replies)
Discussion started by: psychocandy
3 Replies
libtalloc_pools(3)						      talloc							libtalloc_pools(3)

NAME
libtalloc_pools - Chapter 5: Memory pools Memory pools Allocation of a new memory is an expensive operation and large programs can contain thousands of calls of malloc() for a single computation, where every call allocates only a very small amount of the memory. This can result in an undesirable slowdown of the application. We can avoid this slowdown by decreasing the number of malloc() calls by using a memory pool. A memory pool is a preallocated memory space with a fixed size. If we need to allocate new data we will take the desired amount of the memory from the pool instead of requesting a new memory from the system. This is done by creating a pointer that points inside the preallocated memory. Such a pool must not be reallocated as it would change its location - pointers that were pointing inside the pool would become invalid. Therefore, a memory pool requires a very good estimate of the required memory space. The talloc library contains its own implementation of a memory pool. It is highly transparent for the programmer. The only thing that needs to be done is an initialization of a new pool context using talloc_pool() - which can be used in the same way as any other context. Refactoring of existing code (that uses talloc) to take the advantage of a memory pool is quite simple due to the following properties of the pool context: o if we are allocating data on a pool context, it takes the desired amount of memory from the pool, o if the context is a descendant of the pool context, it takes the space from the pool as well, o if the pool does not have sufficient portion of memory left, it will create a new non-pool context, leaving the pool intact /* allocate 1KiB in a pool */ TALLOC_CTX *pool_ctx = talloc_pool(NULL, 1024); /* Take 512B from the pool, 512B is left there */ void *ptr = talloc_size(pool_ctx, 512); /* 1024B > 512B, this will create new talloc chunk outside the pool */ void *ptr2 = talloc_size(ptr, 1024); /* The pool still contains 512 free bytes * this will take 200B from them. */ void *ptr3 = talloc_size(ptr, 200); /* This will destroy context 'ptr3' but the memory * is not freed, the available space in the pool * will increase to 512B. */ talloc_free(ptr3); /* This will free memory taken by 'pool_ctx' * and 'ptr2' as well. */ talloc_free(pool_ctx); The above given is very convenient, but there is one big issue to be kept in mind. If the parent of a talloc pool child is changed to a parent that is outside of this pool, the whole pool memory will not be freed until the child is freed. For this reason we must be very careful when stealing a descendant of a pool context. TALLOC_CTX *mem_ctx = talloc_new(NULL); TALLOC_CTX *pool_ctx = talloc_pool(NULL, 1024); struct foo *foo = talloc(pool_ctx, struct foo); /* mem_ctx is not in the pool */ talloc_steal(mem_ctx, foo); /* pool_ctx is marked as freed but the memory is not deallocated, accessing the pool_ctx again will cause an error */ talloc_free(pool_ctx); /* This deallocates the pool_ctx. */ talloc_free(mem_ctx); It may often be better to copy the memory we want instead of stealing it to avoid this problem. If we do not need to retain the context name (to keep the type information), we can use talloc_memdup() to do this. Copying the memory out of the pool may, however, discard all the performance boost given by the pool, depending on the size of the copied memory. Therefore, the code should be well profiled before taking this path. In general, the golden rule is: if we need to steal from the pool context, we should not use a pool context. Version 2.0 Tue Jun 17 2014 libtalloc_pools(3)
All times are GMT -4. The time now is 11:57 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy