Alex wrote:
On Tuesday 04 November 2008 16:37, Brian J. Murrell wrote:
  
On Tue, 2008-11-04 at 15:51 +0200, Alex wrote:
    
[EMAIL PROTECTED] ~]# lfs df -h
UUID                     bytes      Used Available  Use% Mounted on
testfs-MDT0000_UUID     130.4G    460.1M    122.5G    0%
/mnt/lustre[MDT:0] testfs-OST0000_UUID      18.3G     17.4G      2.0M  
94% /mnt/lustre[OST:0] testfs-OST0001_UUID      18.3G     15.5G      2.0G
  84% /mnt/lustre[OST:1] testfs-OST0002_UUID      36.7G     15.5G    
19.4G   42% /mnt/lustre[OST:2] testfs-OST0003_UUID      36.7G     15.5G  
  19.4G   42% /mnt/lustre[OST:3] filesystem summary:     110.0G     63.8G
    40.7G   57% /mnt/lustre [EMAIL PROTECTED] ~]#

As you can see OST:0 is full!
      
Indeed.  Is this a 1.6 or a 1.4 installation?  
    

Hi Brian,

Many thanks for your reply. See my answers inline.

[EMAIL PROTECTED] ~]# rpm -q lustre
lustre-1.6.5.1-2.6.18_53.1.14.el5_lustre.1.6.5.1smp
[EMAIL PROTECTED] ~]#

  
As long as you have not 
forced an allocation policy with striping for example, with 1.6 your
OSTs should fill in a more-or-less even manner and you should not see
this type of problem.
    

I have activated striping on /mnt/lustre after some OSTs has been filled 
arbitray, in order to be able to use entire /mnt/lustre size (110GB), so 
thats the cause of my present problem.

  
Question1: Is any command to use in order to move arround 60% of OST:0
data from OST:0 to other OST or to all other OSTes (arround 20% to each
other)?
      

Now i have:
[EMAIL PROTECTED] ~]# cat /proc/fs/lustre/lov/testfs-mdtlov/qos_prio_free
90%
[EMAIL PROTECTED] ~]#

  
Deactivate allocation to the full OST on the MDS
    

How can i do this? lctl conf_param testfs-MDT0000.lov.qos_prio_free=100 will 
do the trick?
  
You need to disable an OST on the MDS server but not on the clients. This will prevent the clients from creating new object on the full OST but you still will be able to access it for reading.
lctl --device N deactivate
where N is the device number which you can obtain by running lctl dl command
  
and do some "mv" (or 
cp/rm if you are more comfortable with that) operations which will
result in moving the objects for the file to other OSTs.

    

All right. Let me explain better... I found that /mnt/lustre/test3.img is 12Gb 
in size and is striped between all OSTs (arround 3GB/OST). Indeed, if i 
remove /mnt/lustre/test3.img i'll get some free space on OST:0, as well as on 
other OSTs. Now, i want to make up some free space ONLY on OST:0, MOVING some 
objects from it to another OST.

[EMAIL PROTECTED] ~]# lfs getstripe /mnt/lustre/test3.img
OBDS:
0: testfs-OST0000_UUID ACTIVE
1: testfs-OST0001_UUID ACTIVE
2: testfs-OST0002_UUID ACTIVE
3: testfs-OST0003_UUID ACTIVE
/mnt/lustre/test3.img
        obdidx           objid          objid            group
             0               7            0x7                0
             2               6            0x6                0
             3              70           0x46                0
             1              69           0x45                0

[EMAIL PROTECTED] ~]#

So, how can i move objid=7 from OST:0 to OST:2, keeping 
intact /mnt/lustre/test3.img file?
  
I don't know how to move a particular object but you could move a whole file to another OST and that would release some space from the full OST.
mkdir /mnt/lustre/tmp
lfs setstripe -i 2 -c 1 /mnt/lustre/tmp
and then copy or move file test3.img into tmp dir

Regards,
Alx
_______________________________________________
Lustre-discuss mailing list
[email protected]
http://lists.lustre.org/mailman/listinfo/lustre-discuss
  

_______________________________________________
Lustre-discuss mailing list
[email protected]
http://lists.lustre.org/mailman/listinfo/lustre-discuss

Reply via email to