Làm cách nào tôi có thể khôi phục hệ thống tệp ext4 bị hỏng sau khi fsck?


11

Tôi có một hệ thống tập tin ext4 trên luks trên phần mềm raid5. Hệ thống tập tin đã hoạt động "tốt" trong vài năm khi tôi bắt đầu hết dung lượng. Tôi có âm lượng 9T trên các ổ 6x2T. Tôi đã bắt đầu nâng cấp lên các ổ đĩa 3T bằng cách thực hiện lỗi mdadm, gỡ bỏ, thêm, xây dựng lại, lặp lại quy trình cho đến khi tôi có một mảng lớn hơn. Sau đó, tôi đã phát triển các thùng chứa luks, và sau đó khi tôi ngắt kết nối và cố gắng thay đổi kích thước2fs, tôi nhận được thông báo hệ thống tập tin bị bẩn và cần e2fsck.

Không cần suy nghĩ, tôi vừa mới thực hiện e2fsck -y / dev / mapper / candybox và nó bắt đầu phun ra tất cả các loại tin nhắn bị loại bỏ (không thể nhớ chính xác) Tôi đã giết e2fsck và cố gắng kết nối lại hệ thống tập tin để sao lưu dữ liệu mà tôi quan tâm. Khi cố gắng gắn kết vào thời điểm này, tôi nhận được:

# mount /dev/mapper/candybox /candybox
mount: wrong fs type, bad option, bad superblock on /dev/mapper/candybox,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

Nhìn lại các bản ghi cũ của tôi, tôi nhận thấy hệ thống tập tin đã báo lỗi này mỗi khi máy khởi động:

kernel: [79137.275531] EXT4-fs (dm-2): warning: mounting fs with errors, running e2fsck is recommended

Thật xấu hổ cho tôi vì đã không chú ý :(


Sau đó, tôi đã cố gắng gắn kết bằng cách sử dụng mọi siêu khối dự phòng (lần lượt từng cái khác) và mỗi lần thử để lại điều này trong nhật ký của tôi:

EXT4-fs (dm-2): ext4_check_descriptors: Checksum for group 0 failed (26534!=65440)
EXT4-fs (dm-2): ext4_check_descriptors: Checksum for group 1 failed (38021!=36729)
EXT4-fs (dm-2): ext4_check_descriptors: Checksum for group 2 failed (18336!=39845)
...
EXT4-fs (dm-2): ext4_check_descriptors: Checksum for group 11911 failed (28743!=44098)
BUG: soft lockup - CPU#0 stuck for 23s! [mount:2939]


Nỗ lực khởi động lại kết quả e2fsck trong:

# e2fsck /dev/mapper/candybox 
e2fsck 1.41.14 (22-Dec-2010)
e2fsck: Group descriptors look bad... trying backup blocks...
candy: recovering journal
e2fsck: unable to set superblock flags on candy


Tại thời điểm này, tôi đã quyết định tốt nhất là đặt thêm một số ổ đĩa và tạo một hình ảnh bằng cách sử dụng ddrescue Bây giờ hai tuần sau tôi có một hình ảnh của phân vùng luks trong một tệp .img.

# ls -lh
total 14T
-rw-r--r-- 1 root root 14T Oct 25 01:57 candybox.img
-rw-r--r-- 1 root root 271 Oct 20 14:32 candybox.logfile

Sau nhiều lần thử sử dụng mọi thứ tôi có thể tìm thấy trực tuyến, tôi không thể ép buộc e2fsck làm bất cứ điều gì trên hình ảnh, vì vậy tôi đã sử dụng mkfs.ext4 -L candy candybox.img -m 0 -Svà tôi có thể gắn hệ thống tập tin bẩn mà không cần nhật ký và phục hồi dữ liệu 960G. Nó đã đưa ra tất cả các loại lỗi của các thư mục khác nhau không tồn tại và vv nhưng tôi đã có thể nhận được một số thứ. Mà đã cho tôi một chút hy vọng!

Sau đó tôi chạy lại e2fsck và nó phải tạo lại mã nguồn gốc và đưa ra một danh sách lớn các số nhóm sửa lỗi, tôi chấp nhận việc tạo mã nguồn gốc và nói không với mọi thứ khác, để lại một hệ thống tệp hoàn toàn trống. Chạy lại một lần nữa và nói có với tất cả các câu hỏi có cùng kết quả nhưng bây giờ là một hệ thống tập tin "sạch" nhưng trống rỗng.

extundelete cho tôi 0 recoverable inodes found.

Và bây giờ tôi bị mắc kẹt một lần nữa, tôi không thể đưa ra bất kỳ phương pháp nào khác ngoài việc rơi vào một thứ như photorec sẽ mang lại cho tôi một mớ hỗn độn tuyệt đối với hệ thống tập tin lớn như thế nào.

Tôi sẵn sàng sao chép lại hình ảnh từ mảng ban đầu và bắt đầu lại, nếu tôi có thể nhận được bất kỳ đề xuất hoặc ý tưởng nào về cách lấy lại nhiều tệp của mình.

Tôi ước tôi có thể đưa ra các bản ghi chi tiết hơn về các lệnh đã chạy, nhưng đầu ra được cuộn qua lâu ngoại trừ những gì được ghi vào syslog và bộ nhớ của tôi không chi tiết do khung thời gian này đã xảy ra.

Bất kỳ trợ giúp nào cũng được đánh giá rất cao!

Cập nhật ngày 27 tháng 10

Tôi đã hoàn toàn lấy lại hình ảnh để bắt đầu thử nghiệm lại và đây là đầu ra cho đến nay. Quá trình sao chép:

[root@gamma rescue]# nbd-client 172.16.10.204 2000 /dev/nbd0
Negotiation: ..size = 14307292MB
bs=1024, sz=15002283540480 bytes
[root@gamma rescue]# cryptsetup luksOpen /dev/nbd0 candybox
Enter passphrase for /dev/nbd0: 
[root@gamma mnt]# pvcreate /dev/md5
  Physical volume "/dev/md5" successfully created
[root@gamma mnt]# pvscan
  PV /dev/md5                      lvm2 [18.19 TiB]
  Total: 1 [18.19 TiB] / in use: 0 [0   ] / in no VG: 1 [18.19 TiB]
[root@gamma mnt]# vgcreate vg-rescue /dev/md5
  Volume group "vg-rescue" successfully created
[root@gamma mnt]# lvcreate --size 15T --name lv-rescue vg-rescue
  Logical volume "lv-rescue" created
[root@gamma mnt]# mkfs.xfs /dev/vg-rescue/lv-rescue 
log stripe unit (524288 bytes) is too large (maximum is 256KiB)
log stripe unit adjusted to 32KiB
meta-data=/dev/vg-rescue/lv-rescue isize=256    agcount=33, agsize=125828992 blks
         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=4026531840, imaxpct=5
         =                       sunit=128    swidth=640 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal log           bsize=4096   blocks=521728, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@gamma mnt]# mount /dev/vg-rescue/lv-rescue rescue/
[root@gamma rescue]# ddrescue /dev/mapper/candybox candybox.img candybox.ddlog


Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued:         0 B,  errsize:       0 B,  errors:       0
Current status
rescued:    13194 GB,  errsize:   1807 GB,  current rate:        0 B/s
   ipos:    13194 GB,   errors:       1,    average rate:   73528 kB/s
   opos:    13194 GB,     time from last successful read:      44 s
^Clitting failed blocks... 
Interrupted by user
## Network hung, had to try again here
[regan@gamma ~]$ sudo nbd-client -d /dev/nbd0
Disconnecting: que, disconnect, Error: Ioctl failed: Invalid argument

Exiting.
[regan@gamma ~]$ sudo nbd-client 172.16.10.204 2000 /dev/nbd0
Negotiation: ..size = 14307292MB
bs=1024, sz=15002283540480 bytes

[root@gamma rescue]# ddrescue -r 2 /dev/mapper/candybox candybox.img candybox.ddlog


Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued:    15002 GB,  errsize:   7426 kB,  errors:      60
Current status
rescued:    15002 GB,  errsize:       0 B,  current rate:    77529 kB/s
   ipos:    15002 GB,   errors:       0,    average rate:    69297 kB/s
   opos:    15002 GB,     time from last successful read:       0 s
Finished                       

[root@gamma rescue]# lvcreate -l 100%FREE -s -n rescue_snap /dev/vg-rescue/lv-rescue 
  Logical volume "rescue_snap" created
[root@gamma rescue]# cd ..
[root@gamma mnt]# mount -o remount,ro rescue/
[root@gamma mnt]# mkdir rescue_snap
[root@gamma mnt]# mount -o nouuid /dev/vg-rescue/rescue_snap rescue_snap
[root@gamma mnt]# cd rescue_snap/
[root@gamma rescue_snap]# ls
candybox.ddlog  candybox.img

Sự lộn xộn:

[root@gamma rescue_snap]# mkfs.ext4 -L candy candybox.img -m 0 -S
mke2fs 1.41.10 (10-Feb-2009)
candybox.img is not a block special device.
Proceed anyway? (y,n) y
Filesystem label=candy
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
915668992 inodes, 3662666368 blocks
0 blocks (0.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
111776 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
    102400000, 214990848, 512000000, 550731776, 644972544, 1934917632, 
    2560000000

Skipping journal creation in super-only mode
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

[root@gamma rescue_snap]# mount -o loop candybox.img /mnt2
[root@gamma rescue_snap]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/md2              147G  138G  3.1G  98% /
tmpfs                  16G  5.7M   16G   1% /dev/shm
/dev/md0              494M  199M  276M  42% /boot
/dev/sdc1             1.8T  979G  763G  57% /mnt/macmirror
/dev/sdj1             1.8T  970G  771G  56% /mnt/usbrescue
/dev/mapper/vg--rescue-lv--rescue
                       15T   14T  1.4T  91% /mnt/rescue
/dev/mapper/vg--rescue-rescue_snap
                       15T   14T  1.4T  91% /mnt/rescue_snap
/mnt/rescue_snap/candybox.img
                       14T   15M   14T   1% /mnt2

## Even though it says only 15M is used, I was able to rsync 960G to /mnt/usbrescue

[root@gamma rescue_snap]# cd /mnt2/
[root@gamma mnt2]# ls -l
ls: cannot access Fedora-19-x86_64-DVD: Input/output error
ls: cannot access rsync_batch: Input/output error
ls: cannot access shell1: Input/output error
ls: cannot access New Folder (2): Input/output error
ls: cannot access shell2: Input/output error
ls: cannot access revolution: Input/output error
ls: cannot access mail: Input/output error
ls: cannot access testing: Input/output error
ls: cannot access export: Input/output error
ls: cannot access ben_backup_20130903: Input/output error
total 160488672
drwxr-xr-x     2 regan regan        4096 Sep  3 20:16 100MEDIA
drwxr-xr-x    19 regan regan        4096 Sep 26 05:18 android
d??????????    ? ?     ?               ?            ? ben_backup_20130903
-rw-rw-r--     1 regan regan       12126 Jan  4  2013 durations.txt
d??????????    ? ?     ?               ?            ? export
drwxrwxr-x    10 regan regan        4096 Dec 29  2012 family-pc_20121229
d??????????    ? ?     ?               ?            ? Fedora-19-x86_64-DVD
-rw-r--r--     1 regan regan 72116729363 Sep 30 04:39 gamma_backup_20130928.tgz
-rw-rw-r--     1 regan regan 55606528323 Jul 27  2011 gamma_tar_20110727.tbz2
-rw-rw-r--     1 regan regan        3839 Sep 27  2012 Good Quality2.plist
-rw-rw-r--     1 regan regan        4663 Oct  7  2012 Good Quality3.plist
-rw-rw-r--     1 regan regan        3852 Sep 26  2012 Good Quality.plist
drwxr-xr-x     7 regan regan        4096 Nov 13  2012 grok
d??????????    ? ?     ?               ?            ? HardDisks
-rwxr--r--     1 regan regan       54248 Mar 16  2013 IMAG0868.jpg
-rwxr--r--     1 regan regan       51156 Mar 16  2013 IMAG0869.jpg
-rwxr--r--     1 regan regan       85912 Mar 16  2013 IMAG0870.jpg
-rwxr--r--     1 regan regan       76875 Mar 16  2013 IMAG0872.jpg
-rwxr--r--     1 regan regan       68451 Mar 16  2013 IMAG0873.jpg
-rwxr--r--     1 regan regan       59587 Mar 16  2013 IMAG0874.jpg
-rwxr--r--     1 regan regan       81232 Mar 16  2013 IMAG0875.jpg
-rwxr--r--     1 regan regan       44211 Mar 16  2013 IMAG0876.jpg
-rwxr--r--     1 regan regan       41660 Mar 16  2013 IMAG0877.jpg
-rwxr--r--     1 regan regan       36778 Mar 16  2013 IMAG0878.jpg
-rwxr--r--     1 regan regan       76964 Mar 16  2013 IMAG0879.jpg
-rwxr--r--     1 regan regan       81876 Mar 16  2013 IMAG0880.jpg
-rwxr--r--     1 regan regan     1568002 Mar 16  2013 IMAG0953.jpg
-rwxr--r--     1 regan regan     1548566 Mar 16  2013 IMAG0954.jpg
-rwxr--r--     1 regan regan     1351743 Mar 16  2013 IMAG0955.jpg
-rwxr--r--     1 regan regan     1750128 Mar 16  2013 IMAG0956.jpg
-rwxr--r--     1 regan regan     1694378 Mar 16  2013 IMAG0957.jpg
-rwxr--r--     1 regan regan     1277128 Mar 16  2013 IMAG0958.jpg
-rwxr--r--     1 regan regan     1467452 Mar 16  2013 IMAG0965.jpg
-rwxr--r--     1 regan regan     1595903 Mar 16  2013 IMAG0966.jpg
-rwxr--r--     1 regan regan     1372444 Mar 16  2013 IMAG0967.jpg
-rwxr--r--     1 regan regan     1698010 Mar 16  2013 IMAG0968.jpg
-rwxr--r--     1 regan regan     1550641 Mar 16  2013 IMAG0969.jpg
-rwxr--r--     1 regan regan     1333768 Mar 16  2013 IMAG0970.jpg
-rwxr--r--     1 regan regan     1432347 Mar 16  2013 IMAG1010.jpg
-rwxr--r--     1 regan regan     1668159 Mar 16  2013 IMAG1013.jpg
-rwxr--r--     1 regan regan     1657058 Mar 16  2013 IMAG1014.jpg
-rwxr--r--     1 regan regan     1496547 Mar 16  2013 IMAG1016.jpg
-rwxr--r--     1 regan regan     1609156 Mar 16  2013 IMAG1017.jpg
-rwxr--r--     1 regan regan     1604832 Mar 16  2013 IMAG1019.jpg
-rwxr--r--     1 regan regan     2048916 Mar 16  2013 IMAG1073.jpg
-rwxr--r--     1 regan regan     2006024 Mar 16  2013 IMAG1074.jpg
-rwxr--r--     1 regan regan     1926686 Mar 16  2013 IMAG1075.jpg
-rw-r--r--     1 regan regan     1583090 Jul 14 21:15 IMAG1565.jpg
-rw-r--r--     1 regan regan     1435031 Sep 22 05:19 IMAG1762.jpg
-rw-r--r--     1 regan regan     1531602 Sep 22 05:19 IMAG1763.jpg
-rw-r--r--     1 regan regan     1450926 Sep 22 05:19 IMAG1764.jpg
-rw-r--r--     1 regan regan     1336103 Sep 23 21:31 IMAG1765.jpg
-rw-r--r--     1 regan regan     1235885 Sep 23 21:32 IMAG1766.jpg
-rw-r--r--     1 regan regan     1224376 Sep 23 21:32 IMAG1767.jpg
-rw-r--r--     1 regan regan     1235229 Sep 23 21:32 IMAG1768.jpg
drwxrwxr-x     2 regan regan        4096 Mar  9  2013 jakeanmal
-rw-rw-rw-     1 regan regan      115228 Oct 29  2009 jj_nas
drwx------.    2 root  root        16384 Nov  8  2012 lost+found
-rw-r--r--     1 regan regan  3123877728 Nov  6  2010 luridmirror_20090806.tar.xz
-rw-r--r--     1 regan regan  2877033943 Mar  1  2013 macabre_20130301.tgz
d??????????    ? ?     ?               ?            ? mail
-rw-r--r--     1 root  root         6771 Aug 10  2009 mail_mirror
-rw-------     1 regan regan 21913047552 Apr  4  2013 mallorys_hdd.vbox.img
d??????????    ? ?     ?               ?            ? MSDN
-rw-r--r--     1 regan regan        8572 May 10  2010 Music
d??????????    ? ?     ?               ?            ? New Folder (2)
drwxrwxrwx    24 regan regan        4096 Mar 22  2013 onyx
drwxr-xr-x   231 regan regan       24576 Sep 30 09:29 ptp
-rwxr--r--     1 regan regan      483328 Jan 26  2013 putty.exe
d??????????    ? ?     ?               ?            ? revolution
-rw-r--r--     1 root  root   6272757760 Oct 16  2012 root.tar
d??????????    ? ?     ?               ?            ? rsync_batch
drwxrwxr-x     2 regan regan       12288 Oct  6 04:09 saber
drwxrwxr-x     2 regan regan      188416 Sep 25 04:20 session_tmp
d??????????    ? ?     ?               ?            ? shell1
d??????????    ? ?     ?               ?            ? shell2
d??????????    ? ?     ?               ?            ? testing
drwxrwxr-x     3 regan regan        4096 Oct  7  2012 tofix
-rwxr--r--     1 regan regan    64991966 Jan  2  2013 VIDEO0041.mp4

[root@gamma mnt2]# cd ..
[root@gamma /]# umount /mnt2
[root@gamma /]# cd /mnt/rescue_snap/
[root@gamma rescue_snap]# e2fsck candybox.img 
e2fsck 1.41.10 (10-Feb-2009)
Backing up journal inode block information.

candy contains a file system with errors, check forced.
Resize inode not valid.  Recreate<y>? yes

Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Root inode not allocated.  Allocate<y>? yes

/lost+found not found.  Create<y>? yes

Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences:  -(9252--9255) <Snip a few dozen MB of text> -(3662666237--3662666238) -3662666240 -(3662666242--3662666244) -(3662666247--3662666249) -3662666253 -(3662666255--3662666256) -3662666259 -3662666262 -3662666264 -(3662666268--3662666271) -3662666276 -3662666281 -3662666285 -3662666294 -(3662666296--3662666297) -3662666301 -3662666307 -3662666309 -3662666311 -3662666313 -3662666316 -(3662666318--3662666319) -3662666324 -(3662666326--3662666328) -(3662666331--3662666332) -3662666334 -(3662666341--3662666342) -3662666344 -(3662666346--3662666347) -3662666349 -(3662666351--3662666352) -3662666354 -3662666357 -3662666362 -(3662666366--3662666367)
Fix<y>? yes

Free blocks count wrong for group #0 (23517, counted=23516).
Fix<y>? 

Free blocks count wrong (3605188902, counted=3605188901).
Fix<y>? yes

Free inodes count wrong for group #0 (8191, counted=8190).
Fix<y>? yes

Directories count wrong for group #0 (1, counted=2).
Fix<y>? yes

Free inodes count wrong (915668991, counted=915668990).
Fix<y>? yes


candy: ***** FILE SYSTEM WAS MODIFIED *****
candy: 2/915668992 files (0.0% non-contiguous), 57477467/3662666368 blocks
[root@gamma rescue_snap]# mount -o loop candybox.img /mnt2
[root@gamma rescue_snap]# ls -l /mnt2
total 4
drwx------ 2 root root 4096 Oct 27 19:33 lost+found
[root@gamma rescue_snap]# 

Lưu ý rằng bây giờ tôi có ảnh sao lưu của mình trong ảnh chụp nhanh, vì vậy tôi có thể thử lý thuyết nhiều lần nếu có ai có ý tưởng ...


5
Regan, chào mừng bạn đến với SF! Tôi có thể chúc mừng bạn về một câu hỏi được viết tốt, thích hợp, được nghiên cứu kỹ không? Đáng buồn thay, tôi không đủ một extđạo sư để cho bạn thêm lời khuyên - bạn đã làm mọi thứ tôi đã thử. Tôi rất hy vọng rằng ai đó có nhiều đầu mối hơn tôi có thể cho bạn một số gợi ý về nơi sẽ đi từ đây.
MadHatter

Điều gì đã xảy ra với các ổ đĩa 2T ban đầu mà bạn đã lấy từ mảng? Bạn đã tiêu diệt chúng chưa?
charlesbridge

Tôi đã sử dụng chúng cho những thứ khác rồi, khi tôi xóa chúng khỏi mảng, khi nó được xây dựng lại thành công, sau đó tôi sử dụng ổ đĩa 2T trong một thứ khác. Hiện tại chúng đang được sử dụng như một phần của / mnt / cứu raid0 của tôi. Tôi ước họ không bị ảnh hưởng, vì tôi có thể đã sử dụng chúng để phục hồi.
Regan

2
Sao lưu của bạn ở đâu?
Michael Hampton

Bạn đã đề cập LUKS. Là / được mã hóa trên đĩa là tốt?
ewwhite

Câu trả lời:


3

Công cụ ưa thích của tôi để phục hồi dữ liệu hệ thống tập tin là UFS Explorer .

Tôi không biết cách mã hóa LUKS sẽ ảnh hưởng đến điều này như thế nào, nhưng hãy tải xuống bản đánh giá của UFS Explorer và thử các cách thực hành tốt nhất thông thường. Chạy nó với hình ảnh của bạn và xem nếu mọi thứ dường như có thể phục hồi hơn. Công cụ này sẽ cung cấp cho bạn một cái nhìn tốt về cấu trúc thư mục và cung cấp một số khả năng tìm kiếm dữ liệu.

Xem thêm: Cách khôi phục hệ thống tệp XFS với "superblock read fail"


Hãy ghi nhớ, âm lượng tôi đang cố gắng khôi phục là ext4. Tôi đã sử dụng XFS cho khối lượng cứu hộ của mình vì âm lượng của tôi ban đầu là 18T và ext4 32 bit không muốn chạy (giới hạn 16T với kích thước khối tiêu chuẩn). Tôi sẽ thử khám phá UFS và xem điều gì sẽ xảy ra
Regan

1
UFS Explorer hoạt động tốt cho các hệ thống ext2, ext3 và ext4.
ewwhite

UFS Explorer muốn eta trong 41 ngày để quét âm lượng ... Tôi sẽ thử phiên bản debian vào ngày mai, có thể nó sẽ cho kết quả nhanh hơn winblows.
Regan

@Regan Nó có hiệu quả với bạn không?
ewwhite

Không, nó hoàn toàn không thể nhìn thấy hệ thống tập tin ext4 sau khi tôi cài đặt phiên bản linux và để nó quét sâu toàn bộ ổ đĩa. Tôi đã gửi email danh sách gửi thư của nhà phát triển ext4 và họ đã gửi cho tôi những ý tưởng cố gắng thu hẹp nguyên nhân. Nếu tôi nhận được câu trả lời từ họ, tôi sẽ đăng nó lên. - Tôi nghĩ rằng UFS có thể hoạt động để khôi phục một vấn đề khác mà một người bạn của tôi gặp phải, rất vui vì bạn đã chỉ cho tôi về vấn đề này, đó là một công cụ khá ngọt ngào!
Regan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.