Linux'та кичине дисктерди чоңураак дисктерге алмаштыруу

Баарына салам. Жацы курстун группасынын башталышынын алдында "Linux администратору" Биз студентибиз, ошондой эле курстун насаатчысы, REG.RU корпоративдик өнүмдөрүн техникалык колдоо боюнча адис Роман Травин жазган пайдалуу материалды жарыялап жатабыз.

Бул макалада дисктерди алмаштыруунун жана массивди жана файлдык системаны андан ары кеңейтүү менен маалыматты чоңураак жаңы дисктерге өткөрүп берүүнүн 2 учуру каралат. Биринчи жагдай дисктерди бир эле MBR/MBR же GPT/GPT бөлүү менен алмаштырууга тиешелүү, экинчиси MBR бөлүү менен дисктерди 2 ТБдан ашык сыйымдуулуктагы дисктерге алмаштырууга тиешелүү, ага орнотуу керек. biosboot бөлүмү менен GPT бөлүмү. Эки учурда тең, биз маалыматтарды өткөрүп жаткан дисктер серверде мурунтан эле орнотулган. Түпкү бөлүм үчүн колдонулган файл системасы ext4.

1-жагдай: Кичирээк дисктерди чоңураак дисктерге алмаштыруу (2 ТБ чейин)

Тапшырма: Учурдагы дисктерди чоңураак дисктерге (2 ТБга чейин) маалымат берүү менен алмаштырыңыз. Бул учурда, бизде тутуму орнотулган 2 x 240 ГБ SSD (RAID-1) дисктери жана системаны өткөрүү керек болгон 2 x 1 ТБ SATA дисктери бар.

Келгиле, учурдагы дисктин түзүлүшүн карап көрөлү.

[root@localhost ~]# lsblk
NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda              8:0    0 223,6G  0 disk  
├─sda1           8:1    0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sda2           8:2    0 222,5G  0 part  
  └─md127        9:127  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdb              8:16   0 223,6G  0 disk  
├─sdb1           8:17   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdb2           8:18   0 222,5G  0 part  
  └─md127        9:127  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdc              8:32   0 931,5G  0 disk  
sdd              8:48   0 931,5G  0 disk  

Учурда колдонулган файл тутумунун мейкиндигин текшерип көрөлү.

[root@localhost ~]# df -h
Файловая система     Размер Использовано  Дост Использовано% Cмонтировано в
devtmpfs                32G            0   32G            0% /dev
tmpfs                   32G            0   32G            0% /dev/shm
tmpfs                   32G         9,6M   32G            1% /run
tmpfs                   32G            0   32G            0% /sys/fs/cgroup
/dev/mapper/vg0-root   204G         1,3G  192G            1% /
/dev/md126            1007M         120M  837M           13% /boot
tmpfs                  6,3G            0  6,3G            0% /run/user/0

Дисктерди алмаштыруудан мурун файл тутумунун көлөмү 204 ГБ, 2 md126 программалык массивдери колдонулат, алар орнотулган /boot и md127катары колдонулат физикалык көлөмү VG тобу үчүн vg0.

1. Массивдерден диск бөлүктөрүн алып салуу

Массивдин абалын текшерүү

[root@localhost ~]# cat /proc/mdstat 
Personalities : [raid1] 
md126 : active raid1 sda1[0] sdb1[1]
      1047552 blocks super 1.2 [2/2] [UU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md127 : active raid1 sda2[0] sdb2[1]
      233206784 blocks super 1.2 [2/2] [UU]
      bitmap: 0/2 pages [0KB], 65536KB chunk

unused devices: <none>

Система 2 массивди колдонот: md126 (тоо чекити /boot) - бөлүмдөн турат /dev/sda1 и /dev/sdb1, md127 (LVM үчүн алмашуу жана файлдык системанын тамыры) - турат /dev/sda2 и /dev/sdb2.

Ар бир массивде колдонулган биринчи дисктин бөлүмдөрүн начар деп белгилейбиз.

mdadm /dev/md126 --fail /dev/sda1

mdadm /dev/md127 --fail /dev/sda2

Биз массивдерден /dev/sda блок түзмөгүнүн бөлүктөрүн алып салабыз.

mdadm /dev/md126 --remove /dev/sda1

mdadm /dev/md127 --remove /dev/sda2

Дискти массивден алып салгандан кийин блок түзмөгүнүн маалыматы ушундай болот.

[root@localhost ~]# lsblk
NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda              8:0    0 223,6G  0 disk  
├─sda1           8:1    0     1G  0 part  
└─sda2           8:2    0 222,5G  0 part  
sdb              8:16   0 223,6G  0 disk  
├─sdb1           8:17   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdb2           8:18   0 222,5G  0 part  
  └─md127        9:127  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdc              8:32   0 931,5G  0 disk  
sdd              8:48   0 931,5G  0 disk  

Дисктерди алып салгандан кийин массивдердин абалы.

[root@localhost ~]# cat /proc/mdstat 
Personalities : [raid1] 
md126 : active raid1 sdb1[1]
      1047552 blocks super 1.2 [2/1] [_U]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md127 : active raid1 sdb2[1]
      233206784 blocks super 1.2 [2/1] [_U]
      bitmap: 1/2 pages [4KB], 65536KB chunk

unused devices: <none>

2. Бөлүмдүн таблицасын жаңы дискке көчүрүңүз

Дисктеги колдонулган бөлүү таблицасын төмөнкү буйрук менен текшере аласыз.

fdisk -l /dev/sdb | grep 'Disk label type'

MBR үчүн чыгаруу төмөнкүдөй болот:

Disk label type: dos

GPT үчүн:

Disk label type: gpt

MBR үчүн бөлүү таблицасын көчүрүү:

sfdisk -d /dev/sdb | sfdisk /dev/sdc

Бул командада биринчи диск көрсөтүлгөн с кимге белги көчүрүлөт, экинчи - кайда көчүрүү.

сАК БОЛУЪУЗ: GPT үчүн биринчи диск көрсөтүлгөн кайсы боюнча белгини көчүрүү экинчи диск дискти көрсөтөт кайдан белгини көчүрүү. Эгер сиз дисктерди аралаштырсаңыз, алгач жакшы болгон бөлүм кайра жазылып, жок кылынат.

GPT үчүн жайгашуу таблицасын көчүрүү:

sgdisk -R /dev/sdс /dev/sdb

Андан кийин, дискке туш келди UUID дайындаңыз (GPT үчүн).


sgdisk -G /dev/sdc

Буйрук аткарылгандан кийин, дискте бөлүмдөр пайда болушу керек /dev/sdc.

[root@localhost ~]# lsblk
NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda              8:0    0 223,6G  0 disk  
├─sda1           8:1    0     1G  0 part  
└─sda2           8:2    0 222,5G  0 part  
sdb              8:16   0 223,6G  0 disk  
├─sdb1           8:17   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdb2           8:18   0 222,5G  0 part  
  └─md127        9:127  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdc              8:32   0 931,5G  0 disk  
├─sdc1           8:33   0     1G  0 part  
└─sdc2           8:34   0 222,5G  0 part  
sdd              8:48   0 931,5G  0 disk  

Эгерде иш-аракет аткарылгандан кийин, дисктеги системадагы бөлүмдөр /dev/sdc чечкинсиз болсо, анда бөлүү таблицасын кайра окуу буйругун аткарабыз.

sfdisk -R /dev/sdc

Эгерде учурдагы дисктер MBR таблицасын колдонсо жана маалыматты 2 ТБдан чоңураак дисктерге өткөрүп берүү керек болсо, анда жаңы дисктерде biosboot бөлүмүн колдонуп GPT бөлүүнү кол менен түзүшүңүз керек болот. Бул окуя ушул макаланын 2-бөлүгүндө талкууланат.

3. Жаңы дисктин бөлүктөрүн массивге кошуу

Тиешелүү массивдерге диск бөлүктөрүн кошолу.

mdadm /dev/md126 --add /dev/sdc1

mdadm /dev/md127 --add /dev/sdc2

Бөлүмдөрдүн кошулганын текшеребиз.

[root@localhost ~]# lsblk
NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda              8:0    0 223,6G  0 disk  
├─sda1           8:1    0     1G  0 part  
└─sda2           8:2    0 222,5G  0 part  
sdb              8:16   0 223,6G  0 disk  
├─sdb1           8:17   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdb2           8:18   0 222,5G  0 part  
  └─md127        9:127  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdc              8:32   0 931,5G  0 disk  
├─sdc1           8:33   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdc2           8:34   0 222,5G  0 part  
  └─md127        9:127  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdd              8:48   0 931,5G  0 disk  

Андан кийин, массивдердин синхрондошун күтөбүз.

[root@localhost ~]# cat /proc/mdstat 
Personalities : [raid1] 
md126 : active raid1 sdc1[2] sdb1[1]
      1047552 blocks super 1.2 [2/2] [UU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md127 : active raid1 sdc2[2] sdb2[1]
      233206784 blocks super 1.2 [2/1] [_U]
      [==>..................]  recovery = 10.6% (24859136/233206784) finish=29.3min speed=118119K/sec
      bitmap: 2/2 pages [8KB], 65536KB chunk

unused devices: <none>

Утилитаны колдонуп, синхрондоштуруу процессин үзгүлтүксүз көзөмөлдөй аласыз watch.

watch -n 2 cat /proc/mdstat

параметр -n прогрессти текшерүү үчүн буйрук канча секунданын ичинде аткарылышы керектигин белгилейт.

Кийинки алмаштыруу диск үчүн 1 - 3 кадамдарды кайталаңыз.

Ар бир массивде колдонулган экинчи дисктин бөлүмдөрүн начар деп белгилейбиз.

mdadm /dev/md126 --fail /dev/sdb1

mdadm /dev/md127 --fail /dev/sdb2

Блок түзмөгүнүн бөлүктөрүн алып салуу /dev/sdb массивдерден.

mdadm /dev/md126 --remove /dev/sdb1

mdadm /dev/md127 --remove /dev/sdb2

Дискти массивден алып салгандан кийин блок түзмөгүнүн маалыматы ушундай болот.

[root@localhost ~]# lsblk
NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda              8:0    0 223,6G  0 disk  
├─sda1           8:1    0     1G  0 part  
└─sda2           8:2    0 222,5G  0 part  
sdb              8:16   0 223,6G  0 disk  
├─sdb1           8:17   0     1G  0 part  
└─sdb2           8:18   0 222,5G  0 part  
sdc              8:32   0 931,5G  0 disk  
├─sdc1           8:33   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdc2           8:34   0 222,5G  0 part  
  └─md127        9:127  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdd              8:48   0 931,5G  0 disk  

Дисктерди алып салгандан кийин массивдердин абалы.

[root@localhost ~]# cat /proc/mdstat 
Personalities : [raid1] 
md126 : active raid1 sdc1[2]
      1047552 blocks super 1.2 [2/1] [U_]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md127 : active raid1 sdc2[2]
      233206784 blocks super 1.2 [2/1] [U_]
      bitmap: 1/2 pages [4KB], 65536KB chunk

unused devices: <none>

Дисктен MBR бөлүү таблицасын көчүрүү /dev/sdс дискке /dev/sdd.

sfdisk -d /dev/sdс | sfdisk /dev/sdd

Буйрук аткарылгандан кийин, дискте бөлүмдөр пайда болушу керек /dev/sdd.

[root@localhost ~]# lsblk
NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda              8:0    0 223,6G  0 disk  
├─sda1           8:1    0     1G  0 part  
└─sda2           8:2    0 222,5G  0 part  
sdb              8:16   0 223,6G  0 disk  
├─sdb1           8:17   0     1G  0 part  
└─sdb2           8:18   0 222,5G  0 part  
sdc              8:32   0 931,5G  0 disk  
├─sdc1           8:33   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdc2           8:34   0 222,5G  0 part  
  └─md127        9:127  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdd              8:48   0 931,5G  0 disk  
├─sdd1           8:49   0     1G  0 part  
└─sdd2           8:50   0 222,5G  0 part  

Массивдерге диск бөлүктөрүн кошуу.

mdadm /dev/md126 --add /dev/sdd1

mdadm /dev/md127 --add /dev/sdd2

Бөлүмдөрдүн кошулганын текшеребиз.

[root@localhost ~]# lsblk
NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda              8:0    0 223,6G  0 disk  
├─sda1           8:1    0     1G  0 part  
└─sda2           8:2    0 222,5G  0 part  
sdb              8:16   0 223,6G  0 disk  
├─sdb1           8:17   0     1G  0 part  
└─sdb2           8:18   0 222,5G  0 part  
sdc              8:32   0 931,5G  0 disk  
├─sdc1           8:33   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdc2           8:34   0 222,5G  0 part  
  └─md127        9:127  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdd              8:48   0 931,5G  0 disk  
├─sdd1           8:49   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdd2           8:50   0 222,5G  0 part  
  └─md127        9:127  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]

Андан кийин, массивдердин синхрондошун күтөбүз.

[root@localhost ~]# cat /proc/mdstat 
Personalities : [raid1] 
md126 : active raid1 sdd1[3] sdc1[2]
      1047552 blocks super 1.2 [2/2] [UU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md127 : active raid1 sdd2[3] sdc2[2]
      233206784 blocks super 1.2 [2/1] [U_]
      [>....................]  recovery =  0.5% (1200000/233206784) finish=35.4min speed=109090K/sec
      bitmap: 2/2 pages [8KB], 65536KB chunk

unused devices: <none>

5. GRUBди жаңы дисктерге орнотуу

CentOS үчүн:

grub2-install /dev/sdX

Debian/Ubuntu үчүн:

grub-install /dev/sdX

кайда X — блоктук түзүлүштүн тамгасы. Бул учурда, сиз GRUB орнотуу керек /dev/sdc и /dev/sdd.

6. Түпкү бөлүмдүн файл тутумунун кеңейтүүсү (ext4).

Жаңы дисктерде /dev/sdc и /dev/sdd 931.5 ГБ жеткиликтүү. Бөлүм таблицасы кичине дисктерден көчүрүлгөндүктөн, бөлүмдөр /dev/sdc2 и /dev/sdd2 222.5 ГБ жеткиликтүү.

sdc              8:32   0 931,5G  0 disk  
├─sdc1           8:33   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdc2           8:34   0 222,5G  0 part  
  └─md127        9:127  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdd              8:48   0 931,5G  0 disk  
├─sdd1           8:49   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdd2           8:50   0 222,5G  0 part  
  └─md127        9:127  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]

зарыл:

  1. Дисктердин ар биринде 2-бөлүмдү кеңейтүү,
  2. md127 массивин кеңейтүү,
  3. PV кеңейтүү (физикалык көлөм),
  4. LV (логикалык көлөм) vg0-тамырын кеңейтүү,
  5. Файл системасын кеңейтүү.

Утилитаны колдонуу бөлүп бөлүмдү кеңейтели /dev/sdc2 максималдуу мааниге чейин. Буйрукту аткарыңыз parted /dev/sdc (1) жана буйрук менен учурдагы бөлүм таблицасын көрүү p (2).

Linux'та кичине дисктерди чоңураак дисктерге алмаштыруу

Көрүнүп тургандай, 2-бөлүмдүн аягы 240 ГБ менен аяктайт. Келгиле, бөлүмдү буйрук менен кеңейтели resizepart 2, мында 2 - бөлүмдүн саны (3). Биз санарип форматында маанини көрсөтөбүз, мисалы 1000 ГБ, же дисктин үлүшүнүн көрсөткүчүн колдонобуз - 100%. Бөлүмдүн жаңы өлчөмү бар экенин дагы бир жолу текшеребиз (4).

Диск үчүн жогорудагы кадамдарды кайталаңыз /dev/sdd. Бөлүмдөрдү кеңейтүүдөн кийин /dev/sdc2 и /dev/sdd2 930.5 ГБ барабар болуп калды.

[root@localhost ~]# lsblk                                                 
NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda              8:0    0 223,6G  0 disk  
├─sda1           8:1    0     1G  0 part  
└─sda2           8:2    0 222,5G  0 part  
sdb              8:16   0 223,6G  0 disk  
├─sdb1           8:17   0     1G  0 part  
└─sdb2           8:18   0 222,5G  0 part  
sdc              8:32   0 931,5G  0 disk  
├─sdc1           8:33   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdc2           8:34   0 930,5G  0 part  
  └─md127        9:127  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdd              8:48   0 931,5G  0 disk  
├─sdd1           8:49   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdd2           8:50   0 930,5G  0 part  
  └─md127        9:127  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]

Андан кийин массивди кеңейтебиз md127 максимумга чейин.

mdadm --grow /dev/md127 --size=max

Массив кеңейгенин текшеребиз. Азыр анын көлөмү 930.4 ГБ болуп калды.

[root@localhost ~]# lsblk
NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda              8:0    0 223,6G  0 disk  
├─sda1           8:1    0     1G  0 part  
└─sda2           8:2    0 222,5G  0 part  
sdb              8:16   0 223,6G  0 disk  
├─sdb1           8:17   0     1G  0 part  
└─sdb2           8:18   0 222,5G  0 part  
sdc              8:32   0 931,5G  0 disk  
├─sdc1           8:33   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdc2           8:34   0 930,5G  0 part  
  └─md127        9:127  0 930,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdd              8:48   0 931,5G  0 disk  
├─sdd1           8:49   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdd2           8:50   0 930,5G  0 part  
  └─md127        9:127  0 930,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]

Кеңейтүүнү узартуу физикалык көлөмү. Кеңейтүүдөн мурун, келгиле, PV учурдагы абалын текшерип көрөлү.

[root@localhost ~]# pvscan
  PV /dev/md127   VG vg0             lvm2 [222,40 GiB / 0    free]
  Total: 1 [222,40 GiB] / in use: 1 [222,40 GiB] / in no VG: 0 [0   ]

Көрүнүп тургандай, PV /dev/md127 222.4 ГБ мейкиндикти колдонот.

Биз төмөнкү буйрук менен PV кеңейтебиз.

pvresize /dev/md127

PV кеңейүү натыйжасын текшерүү.

[

root@localhost ~]# pvscan
  PV /dev/md127   VG vg0             lvm2 [930,38 GiB / 707,98 GiB free]
  Total: 1 [930,38 GiB] / in use: 1 [930,38 GiB] / in no VG: 0 [0   ]

Кеңейтүү логикалык көлөм. Кеңейтүүдөн мурун, LV (1) учурдагы абалын текшерип көрөлү.

[root@localhost ~]# lvscan
  ACTIVE            '/dev/vg0/swap' [<16,00 GiB] inherit
  ACTIVE            '/dev/vg0/root' [<206,41 GiB] inherit

LV /dev/vg0/root 206.41 ГБ колдонот.

Биз төмөнкү буйрук менен LV кеңейтебиз (2).

lvextend -l +100%FREE /dev/mapper/vg0-root

Аткарылган аракетти текшеребиз (3).

[root@localhost ~]# lvscan 
  ACTIVE            '/dev/vg0/swap' [<16,00 GiB] inherit
  ACTIVE            '/dev/vg0/root' [<914,39 GiB] inherit

Көрүнүп тургандай, LV кеңейтилгенден кийин, ээлеген диск мейкиндигинин көлөмү 914.39 ГБ болду.

Linux'та кичине дисктерди чоңураак дисктерге алмаштыруу

LV көлөмү көбөйдү (4), бирок файл системасы дагы эле 204 ГБ (5) ээлейт.

1. Файлдык системаны кеңейтели.

resize2fs /dev/mapper/vg0-root

Буйрук аткарылгандан кийин, биз файл тутумунун өлчөмүн текшеребиз.

[root@localhost ~]# df -h
Файловая система     Размер Использовано  Дост Использовано% Cмонтировано в
devtmpfs                32G            0   32G            0% /dev
tmpfs                   32G            0   32G            0% /dev/shm
tmpfs                   32G         9,5M   32G            1% /run
tmpfs                   32G            0   32G            0% /sys/fs/cgroup
/dev/mapper/vg0-root   900G         1,3G  860G            1% /
/dev/md126            1007M         120M  837M           13% /boot
tmpfs                  6,3G            0  6,3G            0% /run/user/0

Тамыр файл тутумунун көлөмү 900 ГБ чейин көбөйөт. Кадамдарды аткаргандан кийин, эски дисктерди алып салсаңыз болот.

2-жагдай: Кичирээк дисктерди чоңураак дисктерге алмаштыруу (2 ТБдан ашык)

Setting: Маалыматты сактоо менен учурдагы дисктерди чоңураак дисктерге (2 x 3TB) алмаштырыңыз. Бул учурда, бизде тутуму орнотулган 2 x 240 ГБ SSD (RAID-1) дисктери жана системаны өткөрүү керек болгон 2 x 3 ТБ SATA дисктери бар. Учурдагы дисктер MBR бөлүү таблицасын колдонушат. Жаңы дисктердин сыйымдуулугу 2 ТБдан жогору болгондуктан, MBR 2 ТБдан чоңураак дисктер менен иштей албагандыктан, алар GPT таблицасын колдонушу керек болот.

Келгиле, учурдагы дисктин түзүлүшүн карап көрөлү.

[root@localhost ~]# lsblk
NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda              8:0    0 223,6G  0 disk  
├─sda1           8:1    0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sda2           8:2    0 222,5G  0 part  
  └─md127        9:127  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdb              8:16   0 223,6G  0 disk  
├─sdb1           8:17   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdb2           8:18   0 222,5G  0 part  
  └─md127        9:127  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdc              8:32   0   2,7T  0 disk  
sdd              8:48   0   2,7T  0 disk  

Дискте колдонулган бөлүү таблицасын текшерип көрөлү /dev/sda.

[root@localhost ~]# fdisk -l /dev/sda | grep 'Disk label type'
Disk label type: dos

Дискте /dev/sdb окшош бөлүү таблицасы колдонулат. Системада колдонулган диск мейкиндигин текшерип көрөлү.

[root@localhost ~]# df -h
Файловая система     Размер Использовано  Дост Использовано% Cмонтировано в
devtmpfs                16G            0   16G            0% /dev
tmpfs                   16G            0   16G            0% /dev/shm
tmpfs                   16G         9,5M   16G            1% /run
tmpfs                   16G            0   16G            0% /sys/fs/cgroup
/dev/mapper/vg0-root   204G         1,3G  192G            1% /
/dev/md126            1007M         120M  837M           13% /boot
tmpfs                  3,2G            0  3,2G            0% /run/user/0

Көрүнүп тургандай, файл тутумунун тамыры 204 ГБ ээлейт. Келгиле, программалык камсыздоонун RAID массивинин учурдагы абалын текшерип көрөлү.

1. GPT бөлүү таблицасын жана дискти бөлүүнү орнотуу

Дисктин түзүлүшүн секторлор боюнча текшерип көрөлү.

[root@localhost ~]# parted /dev/sda print
Модель: ATA KINGSTON SVP200S (scsi)
Диск /dev/sda: 240GB
Размер сектора (логич./физич.): 512B/512B
Таблица разделов: msdos
Disk Flags: 

Номер  Начало  Конец   Размер  Тип      Файловая система  Флаги
 1     1049kB  1076MB  1075MB  primary                    загрузочный, raid
 2     1076MB  240GB   239GB   primary                    raid

Жаңы 3TB дискте биз 3 бөлүмдү түзүшүбүз керек:

  1. бөлүм bios_grub GPT BIOS шайкештиги үчүн 2MiB өлчөмү,
  2. Орнотула турган RAID массиви үчүн бөлүм /boot.
  3. RAID массиви үчүн бөлүм боло турган LV тамыры и LV алмашуу.

Утилитаны орнотуу бөлүп команда yum install -y parted (CentOS үчүн), apt install -y parted (Debian/Ubuntu үчүн).

колдонуу бөлүп Дискти бөлүү үчүн төмөнкү буйруктарды аткаралы.

Буйрукту аткарыңыз parted /dev/sdc жана дисктин жайгашуусун оңдоо режимине өтүңүз.

GPT бөлүү таблицасын түзүңүз.

(parted) mktable gpt

1 бөлүм түзүү bios_grub бөлүм жана ага желек коюу.

(parted) mkpart primary 1MiB 3MiB
(parted) set 1 bios_grub on  

2-бөлүм түзүңүз жана ага желек орнотуңуз. Бөлүм RAID массиви үчүн блок катары колдонулат жана ага орнотулат /boot.

(parted) mkpart primary ext2 3MiB 1028MiB
(parted) set 2 boot on

Биз 3-бөлүктү түзөбүз, ал LVM жайгаша турган массив блогу катары да колдонулат.

(parted) mkpart primary 1028MiB 100% 

Бул учурда, желекти коюунун кереги жок, бирок керек болсо, төмөнкү буйрук менен орнотсо болот.

(parted) set 3 raid on

Биз түзүлгөн таблицаны текшеребиз.

(parted) p                                                                
Модель: ATA TOSHIBA DT01ACA3 (scsi)
Диск /dev/sdc: 3001GB
Размер сектора (логич./физич.): 512B/4096B
Таблица разделов: gpt
Disk Flags: 

Номер  Начало  Конец   Размер  Файловая система  Имя      Флаги
 1     1049kB  3146kB  2097kB                    primary  bios_grub
 2     3146kB  1077MB  1074MB                    primary  загрузочный
 3     1077MB  3001GB  3000GB                    primary

Биз дискке жаңы кокус GUID дайындайбыз.

sgdisk -G /dev/sdd

2. Массивдерден биринчи дисктин бөлүмдөрүн алып салуу

Массивдин абалын текшерүү

[root@localhost ~]# cat /proc/mdstat 
Personalities : [raid1] 
md126 : active raid1 sda1[0] sdb1[1]
      1047552 blocks super 1.2 [2/2] [UU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md127 : active raid1 sda2[0] sdb2[1]
      233206784 blocks super 1.2 [2/2] [UU]
      bitmap: 0/2 pages [0KB], 65536KB chunk

unused devices: <none>

Система 2 массивди колдонот: md126 (монтаждоо чекити / жүктөө) - төмөнкүлөрдөн турат /dev/sda1 и /dev/sdb1, md127 (LVM үчүн swap жана файлдык системанын тамыры) - турат /dev/sda2 и /dev/sdb2.

Ар бир массивде колдонулган биринчи дисктин бөлүмдөрүн начар деп белгилейбиз.

mdadm /dev/md126 --fail /dev/sda1

mdadm /dev/md127 --fail /dev/sda2

Блок түзмөгүнүн бөлүктөрүн алып салуу /dev/sda массивдерден.

mdadm /dev/md126 --remove /dev/sda1

mdadm /dev/md127 --remove /dev/sda2

Дискти алып салгандан кийин массивдин абалын текшерүү.

[root@localhost ~]# cat /proc/mdstat 
Personalities : [raid1] 
md126 : active raid1 sdb1[1]
      1047552 blocks super 1.2 [2/1] [_U]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md127 : active raid1 sdb2[1]
      233206784 blocks super 1.2 [2/1] [_U]
      bitmap: 2/2 pages [8KB], 65536KB chunk

unused devices: <none>

3. Жаңы дисктин бөлүктөрүн массивге кошуу

Кийинки кадам синхрондоштуруу үчүн массивдерге жаңы дисктин бөлүктөрүн кошуу болуп саналат. Дисктин учурдагы абалын карап көрөлү.

[root@localhost ~]# lsblk
NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda              8:0    0 223,6G  0 disk  
├─sda1           8:1    0     1G  0 part  
└─sda2           8:2    0 222,5G  0 part  
sdb              8:16   0 223,6G  0 disk  
├─sdb1           8:17   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdb2           8:18   0 222,5G  0 part  
  └─md127        9:127  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdc              8:32   0   2,7T  0 disk  
├─sdc1           8:33   0     2M  0 part  
├─sdc2           8:34   0     1G  0 part  
└─sdc3           8:35   0   2,7T  0 part  
sdd              8:48   0   2,7T  0 disk  

бөлүм /dev/sdc1 Ал bios_grub бөлүм жана массивдерди түзүүгө катышпайт. Массивдер гана колдонулат /dev/sdc2 и /dev/sdc3. Бул бөлүмдөрдү тиешелүү массивдерге кошобуз.

mdadm /dev/md126 --add /dev/sdc2

mdadm /dev/md127 --add /dev/sdc3

Андан кийин массив синхрондоштурууну күтөбүз.

[root@localhost ~]# cat /proc/mdstat 
Personalities : [raid1] 
md126 : active raid1 sdc2[2] sdb1[1]
      1047552 blocks super 1.2 [2/2] [UU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md127 : active raid1 sdc3[2] sdb2[1]
      233206784 blocks super 1.2 [2/1] [_U]
      [>....................]  recovery =  0.2% (619904/233206784) finish=31.2min speed=123980K/sec
      bitmap: 2/2 pages [8KB], 65536KB chunk
unused devices: <none>

Массивге бөлүктөрдү кошкондон кийин дискти бөлүү.

[root@localhost ~]# lsblk
NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda              8:0    0 223,6G  0 disk  
├─sda1           8:1    0     1G  0 part  
└─sda2           8:2    0 222,5G  0 part  
sdb              8:16   0 223,6G  0 disk  
├─sdb1           8:17   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdb2           8:18   0 222,5G  0 part  
  └─md127        9:127  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdc              8:32   0   2,7T  0 disk  
├─sdc1           8:33   0     2M  0 part  
├─sdc2           8:34   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdc3           8:35   0   2,7T  0 part  
  └─md127        9:127  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdd              8:48   0   2,7T  0 disk  

4. Массивдерден экинчи дисктин бөлүмдөрүн алып салуу

Ар бир массивде колдонулган экинчи дисктин бөлүмдөрүн начар деп белгилейбиз.

mdadm /dev/md126 --fail /dev/sdb1

mdadm /dev/md127 --fail /dev/sdb2

Блок түзмөгүнүн бөлүктөрүн алып салуу /dev/sda массивдерден.

mdadm /dev/md126 --remove /dev/sdb1

mdadm /dev/md127 --remove /dev/sdb2

5. GPT жайгашуу таблицасын көчүрүңүз жана массивди синхрондоңуз

GPT белгилөө таблицасын көчүрүү үчүн биз утилитаны колдонобуз sgdiskдиск бөлүмдөрү жана GPT таблицасы менен иштөө үчүн пакетте камтылган - gdisk.

жөндөө gdisk CentOS үчүн:

yum install -y gdisk

жөндөө gdisk Debian/Ubuntu үчүн:

apt install -y gdisk

сАК БОЛУЪУЗ: GPT үчүн биринчи диск көрсөтүлгөн кайсы боюнча белгини көчүрүү, экинчи диск дискти көрсөтөт кайдан белгини көчүрүү. Эгер сиз дисктерди аралаштырсаңыз, алгач жакшы болгон бөлүм кайра жазылып, жок кылынат.

GPT белгилөө таблицасын көчүрүңүз.

sgdisk -R /dev/sdd /dev/sdc

Таблицаны дискке өткөргөндөн кийин дискти бөлүү /dev/sdd.

[root@localhost ~]# lsblk
NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda              8:0    0 223,6G  0 disk  
├─sda1           8:1    0     1G  0 part  
└─sda2           8:2    0 222,5G  0 part  
sdb              8:16   0 223,6G  0 disk  
├─sdb1           8:17   0     1G  0 part  
└─sdb2           8:18   0 222,5G  0 part  
sdc              8:32   0   2,7T  0 disk  
├─sdc1           8:33   0     2M  0 part  
├─sdc2           8:34   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdc3           8:35   0   2,7T  0 part  
  └─md127        9:127  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdd              8:48   0   2,7T  0 disk  
├─sdd1           8:49   0     2M  0 part  
├─sdd2           8:50   0     1G  0 part  
└─sdd3           8:51   0   2,7T  0 part  

Андан кийин, программалык камсыздоонун RAID массивдерине катышкан бөлүмдөрдүн ар бирин кошобуз.

mdadm /dev/md126 --add /dev/sdd2

mdadm /dev/md127 --add /dev/sdd3

Биз массив синхрондоштурууну күтүп жатабыз.

[root@localhost ~]# cat /proc/mdstat 
Personalities : [raid1] 
md126 : active raid1 sdd2[3] sdc2[2]
      1047552 blocks super 1.2 [2/2] [UU]
      bitmap: 1/1 pages [4KB], 65536KB chunk

md127 : active raid1 sdd3[3] sdc3[2]
      233206784 blocks super 1.2 [2/1] [U_]
      [>....................]  recovery =  0.0% (148224/233206784) finish=26.2min speed=148224K/sec
      bitmap: 2/2 pages [8KB], 65536KB chunk
unused devices: <none>

GPT бөлүмүн экинчи жаңы дискке көчүргөндөн кийин, бөлүм ушундай болот.

[root@localhost ~]# lsblk
NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda              8:0    0 223,6G  0 disk  
├─sda1           8:1    0     1G  0 part  
└─sda2           8:2    0 222,5G  0 part  
sdb              8:16   0 223,6G  0 disk  
├─sdb1           8:17   0     1G  0 part  
└─sdb2           8:18   0 222,5G  0 part  
sdc              8:32   0   2,7T  0 disk  
├─sdc1           8:33   0     2M  0 part  
├─sdc2           8:34   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdc3           8:35   0   2,7T  0 part  
  └─md127        9:127  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdd              8:48   0   2,7T  0 disk  
├─sdd1           8:49   0     2M  0 part  
├─sdd2           8:50   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdd3           8:51   0   2,7T  0 part  
  └─md127        9:127  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]

Андан кийин, GRUBди жаңы дисктерге орнотуңуз.

CentOS үчүн орнотуу:

grub2-install /dev/sdX

Debian/Ubuntu үчүн орнотуу:

grub-install /dev/sdX

кайда X — айдоочу кат, биздин учурда айдайт /dev/sdc и /dev/sdd.

Массив тууралуу маалыматты жаңыртабыз.

CentOS үчүн:

mdadm --detail --scan --verbose > /etc/mdadm.conf

Debian/Ubuntu үчүн:

echo "DEVICE partitions" > /etc/mdadm/mdadm.conf

mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf

Сүрөт жаңыртылууда initrd:
CentOS үчүн:

dracut -f -v --regenerate-all

Debian/Ubuntu үчүн:

update-initramfs -u -k all

GRUB конфигурациясын жаңыртабыз.

CentOS үчүн:

grub2-mkconfig -o /boot/grub2/grub.cfg

Debian/Ubuntu үчүн:

update-grub

Кадамдарды аткаргандан кийин, эски дисктерди алып салууга болот.

6. Түпкү бөлүмдүн файл тутумунун кеңейтүүсү (ext4).

Системаны 2 x 3TB дисктерге (RAID-1) көчүргөндөн кийин файл тутумун кеңейтүүдөн мурун дискти бөлүү.

[root@localhost ~]# lsblk
NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda              8:0    0 223,6G  0 disk  
sdb              8:16   0 223,6G  0 disk  
sdc              8:32   0   2,7T  0 disk  
├─sdc1           8:33   0     2M  0 part  
├─sdc2           8:34   0     1G  0 part  
│ └─md127        9:127  0  1023M  0 raid1 /boot
└─sdc3           8:35   0   2,7T  0 part  
  └─md126        9:126  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdd              8:48   0   2,7T  0 disk  
├─sdd1           8:49   0     2M  0 part  
├─sdd2           8:50   0     1G  0 part  
│ └─md127        9:127  0  1023M  0 raid1 /boot
└─sdd3           8:51   0   2,7T  0 part  
  └─md126        9:126  0 222,4G  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]

Азыр бөлүмдөр /dev/sdc3 и /dev/sdd3 2.7 ТБ ээлейт. Биз GPT таблицасы менен жаңы диск макетін түзгөндүктөн, 3-бөлүмдүн өлчөмү дароо эле мүмкүн болгон максималдуу диск мейкиндигине орнотулду, бул учурда бөлүмдү кеңейтүүнүн кереги жок.

зарыл:

  1. md126 массивин кеңейтүү,
  2. PV кеңейтүү (физикалык көлөм),
  3. LV (логикалык көлөм) vg0-тамырын кеңейтүү,
  4. Файл системасын кеңейтүү.

1. Массивди кеңейтиңиз md126 максимумга чейин.

mdadm --grow /dev/md126 --size=max

Массивди кеңейтүүдөн кийин md126 ээлеген мейкиндиктин өлчөмү 2.7 ТБ чейин көбөйдү.

[root@localhost ~]# lsblk
NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda              8:0    0 223,6G  0 disk  
sdb              8:16   0 223,6G  0 disk  
sdc              8:32   0   2,7T  0 disk  
├─sdc1           8:33   0     2M  0 part  
├─sdc2           8:34   0     1G  0 part  
│ └─md127        9:127  0  1023M  0 raid1 /boot
└─sdc3           8:35   0   2,7T  0 part  
  └─md126        9:126  0   2,7T  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdd              8:48   0   2,7T  0 disk  
├─sdd1           8:49   0     2M  0 part  
├─sdd2           8:50   0     1G  0 part  
│ └─md127        9:127  0  1023M  0 raid1 /boot
└─sdd3           8:51   0   2,7T  0 part  
  └─md126        9:126  0   2,7T  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]

Кеңейтүү физикалык көлөмү.

Кеңейтүүдөн мурун, ээлеген PV мейкиндигинин учурдагы маанисин текшериңиз /dev/md126.

[root@localhost ~]# pvs
  PV         VG  Fmt  Attr PSize   PFree
  /dev/md126 vg0 lvm2 a--  222,40g    0 

Биз төмөнкү буйрук менен PV кеңейтебиз.

pvresize /dev/md126

Аткарылган иш-аракетти текшеребиз.

[root@localhost ~]# pvs
  PV         VG  Fmt  Attr PSize  PFree
  /dev/md126 vg0 lvm2 a--  <2,73t 2,51t

Кеңейтүү логикалык көлөм vg0-root.

PV кеңейтилгенден кийин, VG ээлеген мейкиндигин текшерели.

[root@localhost ~]# vgs
  VG  #PV #LV #SN Attr   VSize  VFree
  vg0   1   2   0 wz--n- <2,73t 2,51t

LV ээлеген мейкиндикти текшерип көрөлү.

[root@localhost ~]# lvs
  LV   VG  Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root vg0 -wi-ao---- <206,41g                                                    
  swap vg0 -wi-ao----  <16,00g            

vg0-тамыр көлөмү 206.41 ГБ ээлейт.

Биз LVди максималдуу диск мейкиндигине чейин кеңейтебиз.

lvextend -l +100%FREE /dev/mapper/vg0-root 

Кеңейтүүдөн кийин LV мейкиндигин текшерүү.

[root@localhost ~]# lvs
  LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root vg0 -wi-ao----   2,71t                                                    
  swap vg0 -wi-ao---- <16,00g

Файл системасын кеңейтүү (ext4).

Келгиле, файл тутумунун учурдагы өлчөмүн текшерип көрөлү.

[root@localhost ~]# df -h
Файловая система     Размер Использовано  Дост Использовано% Cмонтировано в
devtmpfs                16G            0   16G            0% /dev
tmpfs                   16G            0   16G            0% /dev/shm
tmpfs                   16G         9,6M   16G            1% /run
tmpfs                   16G            0   16G            0% /sys/fs/cgroup
/dev/mapper/vg0-root   204G         1,4G  192G            1% /
/dev/md127            1007M         141M  816M           15% /boot
tmpfs                  3,2G            0  3,2G            0% /run/user/0

Көлөмү /dev/mapper/vg0-root LV кеңейгенден кийин 204 ГБ ээлейт.

Файлдык системаны кеңейтүү.

resize2fs /dev/mapper/vg0-root 

Файлдык тутумдун көлөмүн аны кеңейтүүдөн кийин текшерүү.

[root@localhost ~]# df -h
Файловая система     Размер Использовано  Дост Использовано% Cмонтировано в
devtmpfs                16G            0   16G            0% /dev
tmpfs                   16G            0   16G            0% /dev/shm
tmpfs                   16G         9,6M   16G            1% /run
tmpfs                   16G            0   16G            0% /sys/fs/cgroup
/dev/mapper/vg0-root   2,7T         1,4G  2,6T            1% /
/dev/md127            1007M         141M  816M           15% /boot
tmpfs                  3,2G            0  3,2G            0% /run/user/0

Файл тутумунун көлөмү толук көлөмдү жабуу үчүн көбөйтүлдү.

Source: www.habr.com

Комментарий кошуу