Free PP Allocation problem


 
Thread Tools Search this Thread
Operating Systems AIX Free PP Allocation problem
# 1  
Old 03-16-2011
Free PP Allocation problem

Firstly, I can't stress enough how much of a newb I am to AIX or Linux in general so please be very patient. I am strictly a MS man, however I now need to administer an IBM power series blade server which sits on top of an AIX VIOS. The VIOS version I am running is 2.1.2.0 and it is mirrored on two physical disks.

I am currently trying to install the latest version of the VIOS but when I attempt to run the command updateios it complains that there is not enough space in the /usr filesystem.

I then attempted to extend the /usr filesytem using extendlv but I get the error "0516-404 allocp: This system cannot fulfill the allocation request.There are not enough free partitions or not enough physical volumes to keep strictness and satisfy allocation requests. The command should be retried with different allocation characteristics."

In troubleshooting this error on google I think the problem lies in the allocation of my free PPs over the two mirrored disks. Here is the output of lsvg -pv rootvg.

Code:
$ lsvg -pv rootvg
rootvg:
PV_NAME           PV STATE          TOTAL PPs   FREE PPs    FREE DISTRIBUTION
hdisk0            active            546         0           00..00..00..00..00
hdisk1            active            546         301         83..00..00..109..109

I think what I need to do is move some of the 301 free PPs from hdisk1 over to hdisk0 but I haven't a clue where to even start. Can anyone help? Again, go easy I'm extremely new to this and barely know the connection between LVs, PVs, PPs and LPs.

Moderator's Comments:
Mod Comment Please use [code] and [/code] tags when posting code, data or logs etc. to preserve formatting and enhance readability, thanks.

Last edited by zaxxon; 03-16-2011 at 04:36 AM.. Reason: code tags
# 2  
Old 03-16-2011
Obviously your rootvg mirror is not clean, hdisk0 has more data than hdisk1. Check lsvg -l rootvg to see which logical volumes are not mirrored and then decide what to do.
# 3  
Old 03-16-2011
As firefox111 stated run;
Code:
lsvg -l rootvg

This will display something like;

Code:
root@ap1:/u/amilburn $ lsvg -l rootvg
rootvg:
LV NAME             TYPE       LPs   PPs   PVs  LV STATE      MOUNT POINT
hd5                 boot       1     2     2    closed/syncd  N/A
hd6                 paging     16    32    2    open/syncd    N/A
hd8                 jfslog     1     2     2    open/syncd    N/A
hd4                 jfs        1     2     2    open/syncd    /
hd2                 jfs        7     14    2    open/syncd    /usr
hd9var              jfs        2     4     2    open/syncd    /var
hd7                 sysdump    5     5     1    open/syncd    N/A

As you have probably already figured out you are looking for the number of LPs compared to the number of PPs. if the PPs are doubled then it is mirrored. If it is not then figure out where that LV resides. If it already resides on hdisk1 then it will not do you any good but if it resides on hdisk0 then you can use;
Code:
migratepv -l logicalvolume hdisk0 hdisk1

to move that LV from hdisk0 to hdisk1 to free up some space on hdisk0.

You can use
Code:
lspv -l hdisk?

to figure out which disk the LV in question resides.

In my case my the only LVs that are not mirrored are my sysdump devices so that might be something to look for.

Last edited by juredd1; 03-16-2011 at 12:55 PM.. Reason: Correct Formating.
# 4  
Old 03-16-2011
Here is my lsvg output:

Code:
$ lsvg -lv rootvg
rootvg:
LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT
hd5                 boot       1       2       2    closed/syncd  N/A
hd6                 paging     2       4       2    open/syncd    N/A
paging00            paging     4       8       2    open/syncd    N/A
hd8                 jfs2log    1       2       2    open/syncd    N/A
hd4                 jfs2       1       2       2    open/syncd    /
hd2                 jfs2       14      28      2    open/syncd    /usr
hd9var              jfs2       3       6       2    open/syncd    /var
hd3                 jfs2       14      28      2    open/syncd    /tmp
hd1                 jfs2       40      80      2    open/syncd    /home
hd10opt             jfs2       8       16      2    open/syncd    /opt
hd11admin           jfs2       1       2       2    open/syncd    /admin
livedump            jfs2       1       2       2    open/syncd    /var/adm/ras/livedump
lg_dumplv           sysdump    4       4       1    open/syncd    N/A
fwdump              jfs2       3       6       2    open/syncd    /var/adm/ras/platform
loglv00             jfslog     1       1       1    closed/syncd  N/A

As you can see /usr is in fact mirrored and resides on hd2. Is this good or bad news?

I presume the hd2 LV has no direct realtionship to PV hdisk2 which appears is lspv as below?

Code:
$ lspv
NAME             PVID                                 VG               STATUS
hdisk0           0007f6fa67f32350                     rootvg           active
hdisk1           0007f6fa6c827ecf                     rootvg           active
hdisk2           none                                 None
hdisk3           none                                 None
hdisk4           none                                 None
hdisk5           none                                 None
hdisk6           none                                 None
hdisk7           none                                 None

# 5  
Old 03-16-2011
looking into your output from your last output you should not use more than 88 physical partitions per disk - I am wondering where the other 400+ are as your first post shows 546 pps in use on hdisk0 ... but if they are in use they obviously should be displayed somehere which they are not.

Can we start from the beginning - can you show us the output of
Code:
lsvg rootvg
lsvg -M rootvg 
lspv -l hdisk0 
lspv -l hdisk1

has this system been migrated from old small disks to new a lot larger disks maybe ?

regards
zxmaus
# 6  
Old 03-16-2011
Code:
$ lsvg rootvg
VOLUME GROUP:       rootvg                   VG IDENTIFIER:  0007f6fa0000d4000000012667f326b5
VG STATE:           active                   PP SIZE:        256 megabyte(s)
VG PERMISSION:      read/write               TOTAL PPs:      1092 (279552 megabytes)
MAX LVs:            256                      FREE PPs:       301 (77056 megabytes)
LVs:                16                       USED PPs:       791 (202496 megabytes)
OPEN LVs:           14                       QUORUM:         1 (Disabled)
TOTAL PVs:          2                        VG DESCRIPTORS: 3
STALE PVs:          0                        STALE PPs:      0
ACTIVE PVs:         2                        AUTO ON:        yes
MAX PPs per VG:     32512
MAX PPs per PV:     1016                     MAX PVs:        32
LTG size (Dynamic): 1024 kilobyte(s)         AUTO SYNC:      no
HOT SPARE:          no                       BB POLICY:      relocatable


In my version of AIX -M is not a valid argument for LSVG, there is however an argument -map for which the below is displayed. Is that what you were looking for?

Code:
$ lsvg -map rootvg
PHYSICAL        LOGICAL
rootvg
hdisk0:1        hd5:1:1
hdisk0:111      hd6:1:1
hdisk0:112      hd6:2:1
hdisk0:113      livedump:1:1
hdisk0:114      lg_dumplv:1
hdisk0:115      lg_dumplv:2
hdisk0:116      lg_dumplv:3
hdisk0:117      lg_dumplv:4
hdisk0:118      fwdump:1:1
hdisk0:119      fwdump:2:1
hdisk0:120      fwdump:3:1
hdisk0:220      paging00:1:1
hdisk0:221      paging00:2:1
hdisk0:222      paging00:3:1
hdisk0:223      paging00:4:1
hdisk0:224      hd8:1:1
hdisk0:225      hd4:1:1
hdisk0:226      hd2:1:1
hdisk0:227      hd2:2:1
hdisk0:228      hd2:3:1
hdisk0:229      hd2:4:1
hdisk0:230      hd2:5:1
hdisk0:231      hd2:6:1
hdisk0:232      hd2:7:1
hdisk0:233      hd2:8:1
hdisk0:234      hd2:9:1
hdisk0:235      hd2:10:1
hdisk0:236      hd2:11:1
hdisk0:237      hd2:12:1
hdisk0:238      hd2:13:1
hdisk0:239      hd9var:1:1
hdisk0:240      hd9var:2:1
hdisk0:241      hd9var:3:1
hdisk0:242      hd3:1:1
hdisk0:243      hd3:2:1
hdisk0:244      hd3:3:1
hdisk0:245      hd3:4:1
hdisk0:246      hd3:5:1
hdisk0:247      hd3:6:1
hdisk0:248      hd3:7:1
hdisk0:249      hd3:8:1
hdisk0:250      hd3:9:1
hdisk0:251      hd3:10:1
hdisk0:252      hd3:11:1
hdisk0:253      hd3:12:1
hdisk0:254      hd3:13:1
hdisk0:255      hd3:14:1
hdisk0:256      hd1:1:1
hdisk0:257      hd1:2:1
hdisk0:258      hd1:3:1
hdisk0:259      hd1:4:1
hdisk0:260      hd1:5:1
hdisk0:261      hd1:6:1
hdisk0:262      hd1:7:1
hdisk0:263      hd1:8:1
hdisk0:264      hd1:9:1
hdisk0:265      hd1:10:1
hdisk0:266      hd1:11:1
hdisk0:267      hd1:12:1
hdisk0:268      hd1:13:1
hdisk0:269      hd1:14:1
hdisk0:270      hd1:15:1
hdisk0:271      hd1:16:1
hdisk0:272      hd1:17:1
hdisk0:273      hd1:18:1
hdisk0:274      hd1:19:1
hdisk0:275      hd1:20:1
hdisk0:276      hd1:21:1
hdisk0:277      hd1:22:1
hdisk0:278      hd1:23:1
hdisk0:279      hd1:24:1
hdisk0:280      hd1:25:1
hdisk0:281      hd1:26:1
hdisk0:282      hd1:27:1
hdisk0:283      hd1:28:1
hdisk0:284      hd1:29:1
hdisk0:285      hd1:30:1
hdisk0:286      hd1:31:1
hdisk0:287      hd1:32:1
hdisk0:288      hd1:33:1
hdisk0:289      hd1:34:1
hdisk0:290      hd1:35:1
hdisk0:291      hd1:36:1
hdisk0:292      hd1:37:1
hdisk0:293      hd1:38:1
hdisk0:294      hd1:39:1
hdisk0:295      hd1:40:1
hdisk0:296      hd10opt:1:1
hdisk0:297      hd10opt:2:1
hdisk0:298      hd10opt:3:1
hdisk0:299      hd10opt:4:1
hdisk0:300      hd10opt:5:1
hdisk0:301      hd11admin:1:1
hdisk0:302      hd2:14:1
hdisk0:303      hd10opt:6:1
hdisk0:304      hd10opt:7:1
hdisk0:305      hd10opt:8:1
hdisk1:1        hd5:1:2
hdisk1:2-84
hdisk1:111      hd6:1:2
hdisk1:112      hd6:2:2
hdisk1:113      livedump:1:2
hdisk1:114      fwdump:1:2
hdisk1:115      fwdump:2:2
hdisk1:116      fwdump:3:2
hdisk1:117      loglv00:1
hdisk1:220      paging00:1:2
hdisk1:221      paging00:2:2
hdisk1:222      paging00:3:2
hdisk1:223      paging00:4:2
hdisk1:224      hd8:1:2
hdisk1:225      hd4:1:2
hdisk1:226      hd2:1:2
hdisk1:227      hd2:2:2
hdisk1:228      hd2:3:2
hdisk1:229      hd2:4:2
hdisk1:230      hd2:5:2
hdisk1:231      hd2:6:2
hdisk1:232      hd2:7:2
hdisk1:233      hd2:8:2
hdisk1:234      hd2:9:2
hdisk1:235      hd2:10:2
hdisk1:236      hd2:11:2
hdisk1:237      hd2:12:2
hdisk1:238      hd2:13:2
hdisk1:239      hd2:14:2
hdisk1:240      hd9var:1:2
hdisk1:241      hd9var:2:2
hdisk1:242      hd9var:3:2
hdisk1:243      hd3:1:2
hdisk1:244      hd3:2:2
hdisk1:245      hd3:3:2
hdisk1:246      hd3:4:2
hdisk1:247      hd3:5:2
hdisk1:248      hd3:6:2
hdisk1:249      hd3:7:2
hdisk1:250      hd3:8:2
hdisk1:251      hd3:9:2
hdisk1:252      hd3:10:2
hdisk1:253      hd3:11:2
hdisk1:254      hd3:12:2
hdisk1:255      hd3:13:2
hdisk1:256      hd3:14:2
hdisk1:257      hd1:1:2
hdisk1:258      hd1:2:2
hdisk1:259      hd1:3:2
hdisk1:260      hd1:4:2
hdisk1:261      hd1:5:2
hdisk1:262      hd1:6:2
hdisk1:263      hd1:7:2
hdisk1:264      hd1:8:2
hdisk1:265      hd1:9:2
hdisk1:266      hd1:10:2
hdisk1:267      hd1:11:2
hdisk1:268      hd1:12:2
hdisk1:269      hd1:13:2
hdisk1:270      hd1:14:2
hdisk1:271      hd1:15:2
hdisk1:272      hd1:16:2
hdisk1:273      hd1:17:2
hdisk1:274      hd1:18:2
hdisk1:275      hd1:19:2
hdisk1:276      hd1:20:2
hdisk1:277      hd1:21:2
hdisk1:278      hd1:22:2
hdisk1:279      hd1:23:2
hdisk1:280      hd1:24:2
hdisk1:281      hd1:25:2
hdisk1:282      hd1:26:2
hdisk1:283      hd1:27:2
hdisk1:284      hd1:28:2
hdisk1:285      hd1:29:2
hdisk1:286      hd1:30:2
hdisk1:287      hd1:31:2
hdisk1:288      hd1:32:2
hdisk1:289      hd1:33:2
hdisk1:290      hd1:34:2
hdisk1:291      hd1:35:2
hdisk1:292      hd1:36:2
hdisk1:293      hd1:37:2
hdisk1:294      hd1:38:2
hdisk1:295      hd1:39:2
hdisk1:296      hd1:40:2
hdisk1:297      hd10opt:1:2
hdisk1:298      hd10opt:2:2
hdisk1:299      hd10opt:3:2
hdisk1:300      hd10opt:4:2
hdisk1:301      hd10opt:5:2
hdisk1:302      hd10opt:6:2
hdisk1:303      hd10opt:7:2
hdisk1:304      hd10opt:8:2
hdisk1:305      hd11admin:1:2
hdisk1:329-546

Again, I don't have -l as a valid arg for lspv but I do have -lv, is this what you are looking for?

Code:
$ lspv -pv hdisk0
hdisk0:
PP RANGE  STATE   REGION        LV NAME             TYPE       MOUNT POINT
  1-1     used    outer edge    hd5                 boot       N/A
  2-110   used    outer edge    VMLibrary           jfs2       /var/vio/VMLibrary
111-112   used    outer middle  hd6                 paging     N/A
113-113   used    outer middle  livedump            jfs2       /var/adm/ras/livedump
114-117   used    outer middle  lg_dumplv           sysdump    N/A
118-120   used    outer middle  fwdump              jfs2       /var/adm/ras/platform
121-219   used    outer middle  VMLibrary           jfs2       /var/vio/VMLibrary
220-223   used    center        paging00            paging     N/A
224-224   used    center        hd8                 jfs2log    N/A
225-225   used    center        hd4                 jfs2       /
226-238   used    center        hd2                 jfs2       /usr
239-241   used    center        hd9var              jfs2       /var
242-255   used    center        hd3                 jfs2       /tmp
256-295   used    center        hd1                 jfs2       /home
296-300   used    center        hd10opt             jfs2       /opt
301-301   used    center        hd11admin           jfs2       /admin
302-302   used    center        hd2                 jfs2       /usr
303-305   used    center        hd10opt             jfs2       /opt
306-328   used    center        VMLibrary           jfs2       /var/vio/VMLibrary
329-437   used    inner middle  VMLibrary           jfs2       /var/vio/VMLibrary
438-546   used    inner edge    VMLibrary           jfs2       /var/vio/VMLibrary

Code:
$ lspv -pv hdisk1
hdisk1:
PP RANGE  STATE   REGION        LV NAME             TYPE       MOUNT POINT
  1-1     used    outer edge    hd5                 boot       N/A
  2-84    free    outer edge
 85-110   used    outer edge    VMLibrary           jfs2       /var/vio/VMLibrary
111-112   used    outer middle  hd6                 paging     N/A
113-113   used    outer middle  livedump            jfs2       /var/adm/ras/livedump
114-116   used    outer middle  fwdump              jfs2       /var/adm/ras/platform
117-117   used    outer middle  loglv00             jfslog     N/A
118-219   used    outer middle  VMLibrary           jfs2       /var/vio/VMLibrary
220-223   used    center        paging00            paging     N/A
224-224   used    center        hd8                 jfs2log    N/A
225-225   used    center        hd4                 jfs2       /
226-239   used    center        hd2                 jfs2       /usr
240-242   used    center        hd9var              jfs2       /var
243-256   used    center        hd3                 jfs2       /tmp
257-296   used    center        hd1                 jfs2       /home
297-304   used    center        hd10opt             jfs2       /opt
305-305   used    center        hd11admin           jfs2       /admin
306-328   used    center        VMLibrary           jfs2       /var/vio/VMLibrary
329-437   free    inner middle
438-546   free    inner edge

This machine was a completely fresh install by an IBM guy. As stated in my OP the machine is a power blade server which acts as the VIOS for a IBM i server. Hope this helps.
# 7  
Old 03-17-2011
Apologies, I forgot that you have a VIO server - my commands do work on 'normal aix'.

Ok so the missing pps are used by /var/vio/VMLibrary which doesn't seem to be mirrored.
I am not sure if commands like df -g or chfs commands are working on vio servers (as these are managed by another team in my company) but I would try to find out if I can make one of the existing filesystems either smaller or can live without a mirror for it - I would say /home would be such a candidate as it seems relatively huge and it doesnt necessarily have to be mirrored - depending on how full it is you could try to reduce the size by 1 GB and give the space to /usr instead with chfs -a size=-1G /home and chfs -a size=+1G /usr ?

Regards
zxmaus
Login or Register to Ask a Question

Previous Thread | Next Thread

7 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Memory allocation problem

I am using ubuntu. I have written a program to calculate prime factors. it works perfectly fine till entered number is less than 9989 (or so ) but when one enters a number higher than that, for example 15000, it does not work. Can anyone guide me whats the problem ? although new codes are welcome,... (2 Replies)
Discussion started by: Abhishek_kumar
2 Replies

2. Solaris

Block-based allocation and Extent-based allocation in Solaris

Hi guys! Could you tell me what's this figure about? (See the attached figure below.) This is a representation of block allocation filesystem and extent allocation filesystem in Solaris. Does this mean that in a block-based allocation, data are placed in individual blocks while in... (0 Replies)
Discussion started by: arah
0 Replies

3. Solaris

MountPoint / is 8% with 899.49MB free crossing threshold of 10% free

Hi, I have a problem one of the server file system cross the limitation MountPoint / is 8% with 899.49MB free crossing threshold of 10% free out put please help how to resolve this dev/vx/dsk/bootdg/rootvol 9.8G 8.8G 956M 91% / /devices ... (3 Replies)
Discussion started by: sriniva0
3 Replies

4. Programming

dynamic allocation vs static allocation in c

i wrote a tiny version of tail command using a large buffer statically allocated but, in a second time, i found another version in which i use a bidimensional array dynamically allocated. here is the first version /*my tiny tail, it prints the last 5 line of a file */ #include<stdio.h>... (4 Replies)
Discussion started by: lucasclaus
4 Replies

5. Programming

Is there a problem with the memory allocation???

I have a scenario like the client has to search for the active server.There will be many servers.But not all server are active.And at a time not more than one server will be active. The client will be in active state always i.e, it should always search for an active server until it gets one.I... (1 Reply)
Discussion started by: vigneshinbox
1 Replies

6. Programming

Memory allocation problem

I have a program that will fetch some particular lines and store it in a buffer for further operations.The code which is given below works but with some errors.I couldn't trace out the error.Can anybody help on this plz?? #include <stdio.h> #include <stdlib.h> #include<string.h> #define... (1 Reply)
Discussion started by: vigneshinbox
1 Replies

7. SCO

Terminal Allocation Problem

Hello All, I am facing a problem on SCO Open Server V 5x, We are using serial communication on dumb terminals, right now i am facing a problem on some terminals, as they are not showing thier previous tty no, as tty13 or tty18, but they are showing ttya6 or ttya4, i also tried to move and link... (5 Replies)
Discussion started by: Awadhesh
5 Replies
Login or Register to Ask a Question