пятница, 23 мая 2014 г.

linux lvm: уменьшение файловой и экспорт VG.


Посколько файловая прикручена к lv на lvm при помощи говна и палок, успех не гарантирован, шанс получить после преобразований кашу на файловой весьма велик.


!) Операция строго offline-новая, нужен downtime. В силу вышесказанного бекап тоже обязателен.

[root@thor1 /]# umount /oradb/
[root@thor1 /]# e2fsck -f /dev/mapper/oravg-fslv_oradb
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/oravg-fslv_oradb: 126150/384466944 files (24.7% non-contiguous), 113949041/1537857536 blocks


Проверка обязательна, впрочем resize2fs забыть не даст и четно скажет "Please run 'e2fsck -f /dev/mapper/oravg-fslv_oradb' first."

[root@thor1 /]# resize2fs -M /dev/mapper/oravg-fslv_oradb
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/mapper/oravg-fslv_oradb to 91252358 (4k) blocks.
The filesystem on /dev/mapper/oravg-fslv_oradb is now 91252358 blocks long.


Режем под занятый размер (гарантированно войдет в одну PV, поэтому без расчета потребного размера и прочих заморочек)

[root@thor1 /]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/oravg/fslv_oradb
  LV Name                fslv_oradb
  VG Name                oravg
  LV Size                5.73 TiB
  Current LE             1501814

  Segments               4


[root@thor1 /]# lvreduce -L -5T /dev/oravg/fslv_oradb
  WARNING: Reducing active logical volume to 746.46 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce fslv_oradb? [y/n]: y
  Size of logical volume oravg/fslv_oradb changed from 5.73 TiB (1501814 extents) to 746.46 GiB (191094 extents).
  Logical volume fslv_oradb successfully resized


проверка
[root@thor1 /]# mount /dev/mapper/oravg-fslv_oradb /oradb/
смотрим, проверяем, закрываем.

[root@thor1 /]# umount /oradb/

Смотрим на PV

[root@thor1 /]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/mapper/mpatha1
  VG Name               oravg
  Allocated PE          0
  
  --- Physical volume ---
  PV Name               /dev/mapper/mpathd1
  VG Name               oravg
  Allocated PE          0
  
  --- Physical volume ---
  PV Name               /dev/mapper/mpathb1
  VG Name               oravg
  PV Size               1.64 TiB / not usable 1.75 MiB
  Allocated PE          165469
 
  --- Physical volume ---
  PV Name               /dev/mapper/mpathc1
  VG Name               oravg
  PV Size               1.09 TiB / not usable 2.70 MiB
  Allocated PE          0

Все данные лежат на одном PV, но мне удобнее занять меньший раздел, поэтому данные переношу на самый маленький PV, остальные освобождаю.


[root@thor1 /]# vgreduce oravg /dev/mapper/mpath[a,b]1
  Removed "/dev/mapper/mpatha1" from volume group "oravg"
  Removed "/dev/mapper/mpathd1" from volume group "oravg"

[root@thor1 /]# pvmove -v /dev/mapper/mpathb1
    Cluster mirror log daemon is not running.
    Finding volume group "oravg"
    Archiving volume group "oravg" metadata (seqno 9).
    Creating logical volume pvmove0
    Moving 165469 extents of logical volume oravg/fslv_oradb
    activation/volume_list configuration setting not defined: Checking only host tags for oravg/fslv_oradb
    Updating volume group metadata
    Creating oravg-pvmove0
    Loading oravg-pvmove0 table (252:9)
    Loading oravg-fslv_oradb table (252:8)
    Suspending oravg-fslv_oradb (252:8) with device flush
    activation/volume_list configuration setting not defined: Checking only host tags for oravg/pvmove0
    Resuming oravg-pvmove0 (252:9)
    Loading oravg-pvmove0 table (252:9)
    Suppressed oravg-pvmove0 (252:9) identical table reload.
    Resuming oravg-fslv_oradb (252:8)
    Creating volume group backup "/etc/lvm/backup/oravg" (seqno 10).
    Checking progress before waiting every 15 seconds
  /dev/mapper/mpathb1: Moved: 0.0%
....
  /dev/mapper/mpathb1: Moved: 100.0%
    Loading oravg-fslv_oradb table (252:8)
    Loading oravg-pvmove0 table (252:9)
    Suspending oravg-fslv_oradb (252:8) with device flush
    Suspending oravg-pvmove0 (252:9) with device flush
    Resuming oravg-pvmove0 (252:9)
    Resuming oravg-fslv_oradb (252:8)
    Removing oravg-pvmove0 (252:9)
    Removing temporary pvmove LV
    Writing out final volume group after pvmove
    Creating volume group backup "/etc/lvm/backup/oravg" (seqno 12).

[root@thor1 /]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/mapper/mpathb1
  VG Name               oravg
  Allocated PE          0
  
  --- Physical volume ---
  PV Name               /dev/mapper/mpathc1
  VG Name               oravg
  Allocated PE          165469
  
  "/dev/mapper/mpathd1" is a new physical volume of "1.36 TiB"
  --- NEW Physical volume ---
  PV Name               /dev/mapper/mpathd1
  VG Name              
  Allocatable           NO
  Allocated PE          0

 
  "/dev/mapper/mpatha1" is a new physical volume of "1.64 TiB"
  --- NEW Physical volume ---
  PV Name               /dev/mapper/mpatha1
  VG Name              
  Allocatable           NO
  Allocated PE          0


[root@thor1 /]# vgreduce oravg /dev/mapper/mpathb1
  Removed "/dev/mapper/mpathb1" from volume group "oravg"


В сухом остатке получим 3 чистых PV и один с ужатой до 700Мб файловой.
Выносим с системы:
 [root@thor1 /]# vgdisplay
  --- Volume group ---
  VG Name               oravg
  System ID            
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  13
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               1.09 TiB
  PE Size               4.00 MiB
  Total PE              286063
  Alloc PE / Size       165469 / 646.36 GiB
  Free  PE / Size       120594 / 471.07 GiB
  VG UUID               xCRb3J-3gZ9-mie8-lRDI-3mdf-DpTS-u4BIIf

  
[root@thor1 /]# vgchange -an oravg
  0 logical volume(s) in volume group "oravg" now active
[root@thor1 /]# vgexport oravg
  Volume group "oravg" successfully exported

Достоевский Фёдор Михайлович


"... по внутреннему убеждению моему, самому полному и непреодолимому - не будет у России, и никогда еще не было, таких ненавистников, завистников, клеветников и даже явных врагов, как все эти славянские племена, чуть только их Россия освободит, а Европа согласится признать их освобожденными!

И пусть не возражают мне, не оспаривают, не кричат на меня, что я преувеличиваю и что я ненавистник славян! Я, напротив, очень люблю славян, но я и защищаться не буду, потому что знаю, что всё точно так именно сбудется, как я говорю, и не по низкому, неблагодарному, будто бы, характеру славян, совсем нет, - у них характер в этом смысле как у всех, - а именно потому, что такие вещи на свете иначе и происходить не могут.

    Начнут же они, по освобождении, свою новую жизнь, повторяю, именно с того, что выпросят себе у Европы, у Англии и Германии, например, ручательство и покровительство их свободе, и хоть в концерте европейских держав будет и Россия, но они именно в защиту от России это и сделают.

    Начнут они непременно с того, что внутри себя, если не прямо вслух, объявят себе и убедят себя в том, что России они не обязаны ни малейшею благодарностью, напротив, что от властолюбия России они едва спаслись при заключении мира вмешательством европейского концерта, а не вмешайся Европа, так Россия проглотила бы их тотчас же, "имея в виду расширение границ и основание великой Всеславянской империи на порабощении славян жадному, хитрому и варварскому великорусскому племени".

    Может быть, целое столетие, или еще более, они будут беспрерывно трепетать за свою свободу и бояться властолюбия России; они будут заискивать перед европейскими государствами, будут клеветать на Россию, сплетничать на нее и интриговать против нее.

    О, я не говорю про отдельные лица: будут такие, которые поймут, что значила, значит и будет значить Россия для них всегда. Но люди эти, особенно вначале, явятся в таком жалком меньшинстве, что будут подвергаться насмешкам, ненависти и даже политическому гонению.

    Особенно приятно будет для освобожденных славян высказывать и трубить на весь свет, что они племена образованные, способные к самой высшей европейской культуре, тогда как Россия - страна варварская, мрачный северный колосс, даже не чистой славянской крови, гонитель и ненавистник европейской цивилизации.

    У них, конечно, явятся, с самого начала, конституционное управление, парламенты, ответственные министры, ораторы, речи. Их будет это чрезвычайно утешать и восхищать. Они будут в упоении, читая о себе в парижских и в лондонских газетах телеграммы, извещающие весь мир, что после долгой парламентской бури пало наконец министерство в (...страну по вкусу...) и составилось новое из либерального большинства и что какой-нибудь ихний (...фамилию по вкусу...) согласился наконец принять портфель президента совета министров.

    России надо серьезно приготовиться к тому, что все эти освобожденные славяне с упоением ринутся в Европу, до потери личности своей заразятся европейскими формами, политическими и социальными, и таким образом
должны будут пережить целый и длинный период европеизма прежде, чем постигнуть хоть что-нибудь в своем славянском значении и в своем особом славянском призвании в среде человечества.

    Между собой эти землицы будут вечно ссориться, вечно друг другу завидовать и друг против друга интриговать. Разумеется, в минуту какой-нибудь серьезной беды они все непременно обратятся к России за помощью. Как ни будут они ненавистничать, сплетничать и клеветать на нас Европе, заигрывая с нею и уверяя ее в любви, но чувствовать-то они всегда будут инстинктивно (конечно, в минуту беды, а не раньше), что Европа естественный враг их единству, была им и всегда останется, а что если они существуют на свете, то, конечно, потому, что стоит огромный магнит - Россия, которая, неодолимо притягивая их всех к себе, тем сдерживает их целость и единство...."