云计算服务器之逻辑卷管理和RAID介绍

举报
tea_year 发表于 2025/07/29 23:39:04 2025/07/29
【摘要】 逻辑卷管理1. 逻辑卷介绍逻辑卷: 逻辑卷(LVM):它是Linux环境下对磁盘分区进行管理的一种机制,它是建立在物理存储设备之上的一个抽象层,优点在于灵活管理。 特点: 1、动态在线扩容(重点),而fdisk是不支持动态扩容的 2、离线裁剪 3、数据条带化:一种将数据分割成多个小块,并将这些小块分布到多个物理存储设备上的技术。这种技术主要用于提高数据的读写性能和吞吐量 4、数据镜像...

逻辑卷管理

1. 逻辑卷介绍

逻辑卷: 逻辑卷(LVM):它是Linux环境下对磁盘分区进行管理的一种机制,它是建立在物理存储设备之上的一个抽象层,优点在于灵活管理。 特点: 1、动态在线扩容(重点),而fdisk是不支持动态扩容的 2、离线裁剪 3、数据条带化:一种将数据分割成多个小块,并将这些小块分布到多个物理存储设备上的技术。这种技术主要用于提高数据的读写性能和吞吐量 4、数据镜像

2. 逻辑卷基本概念

HD指的是硬盘,硬盘通过分区,每个分区可以做成一个物理卷PV,多个物理卷PV组合起来放到一个池子中,形成一个卷组VG,然后从卷组之上划分一块一块的空间形成逻辑卷LV,逻辑卷创建后,其大小可以伸缩。

lvm.png

  • 物理卷(Physical Volume,PV)

物理卷是底层真正提供容量,存放数据的设备,它可以是整个硬盘、硬盘上的分区等。

  • 卷组(Volume Group, VG)

卷组建立在物理卷之上,它由一个或多个物理卷组成。即把物理卷整合起来提供容量分配。 一个LVM系统中可以只有一个卷组,也可以包含多个卷组。

  • 逻辑卷(Logical Volume, LV)

逻辑卷建立在卷组之上,它是从卷组中“切出”的一块空间。它是最终用户使用的逻辑设备。逻辑卷创建之后,其大小可以伸缩。

  • 物理区域 PE(physical extent)

每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是能被LVM寻址的最小单元。PE的大小可指定,默认为4 MB。 PE的大小一旦确定将不能改变,同一个卷组中的所有物理卷的PE的大小是一致的。 4MB=4096kb=4096kb/4kb=1024个block

说明:

  1. 硬盘读取数据最小单位1个扇区512字节

  2. 操作读取数据最小单位1个数据块=8*512字节=4096字节=4KB

  3. lvm寻址最小单位1个PE=4MB

  • 逻辑区域 LE(logical extent)

逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

真实的物理设备——>逻辑上(命令创建)——>物理卷(pv)——>卷组(vg)——>逻辑卷(lv)——>逻辑卷格式化——>挂载使用

3. 逻辑卷LVM应用
3.1 逻辑卷创建
思路:
1. 物理的设备
2. 将物理设备做成物理卷
3. 创建卷组并将物理卷加入其中
4. 创建逻辑卷
5. 格式化逻辑卷
6. 挂载使用
​
步骤:
1. 物理设备
克隆一个新的虚拟机,额外添加20G硬盘
​
2.使用fdisk分两个区/dev/sdb1和/dev/sdb2,各2G
fdisk /dev/sdb
...
3. 刷新分区
[root@server ~]# partx -a /dev/sdb
​
4.分别给分区制作成物理卷
[root@server ~]# pvcreate /dev/sdb1
[root@server ~]# pvcreate /dev/sdb2
​
5.验证是否成功
[root@server ~]# pvs
详细查询
[root@server ~]# pvdisplay /dev/sdb1
​
6.创建卷组
[root@server ~]# vgcreate vg01 /dev/sdb1 /dev/sdb2
​
7.查看
[root@server ~]# vgs
​
8.创建逻辑卷
[root@server ~]# lvcreate -n lv01 -L 2.5G vg01
查看
[root@server ~]# lvs
查看vg的使用空间和剩余空间
[root@server ~]# vgs
​
9.逻辑卷是个设备文件,创建好后会放到/dev中
创建好逻辑卷后映射到两个路径中/dev/vg01/lv01和/dev/mapper/vg01-lv01
[root@server ~]# ll /dev/vg01/lv01
[root@server ~]# ll /dev/mapper/vg01-lv01
​
10.格式化逻辑卷
[root@server ~]# mkfs.ext4 /dev/vg01/lv01
​
11.查看
[root@server ~]# blkid /dev/vg01/lv01
​
12.挂载
创建空目录/u01
[root@server ~]# mkdir /u01
挂载
[root@server ~]# mount /dev/vg01/lv01 /u01
查看
[root@server ~]# df -h
​
=============创建逻辑卷lv02并指定大小
1.查看vgs剩余空间
[root@server ~]# vgs
​
2.创建逻辑卷
100代表100个PE,一个PE是4M,也就是400MB
[root@server ~]# lvcreate -n lv02 -l 100 vg01
​
3.查看
[root@server ~]# lvs
​
===============创建逻辑卷lv03并指定大小
1.查看vgs剩余空间
[root@server ~]# vgs
​
2.创建逻辑卷lv03,指定空大小为卷组剩余空间的100%
​
[root@server ~]# lvcreate  -n  lv03  -l100%free  vg01
​
3.查看
[root@server ~]# lvs
3.2 逻辑卷相关命令
删除一般要求从上往下删,也就是实现删除lv --- vg --- pv
删除逻辑卷的前提是逻辑卷没有在使用,lv02、lv03都未使用,01在使用
1.删除逻辑卷lv03
[root@server ~]# lvremove  /dev/vg01/lv03
查看 
[root@server ~]# lvs
查看vg,看看空间是否释放
[root@server ~]# vgs
2.删除逻辑卷lv02
[root@server ~]# lvremove  /dev/vg01/lv02
查看 
[root@server ~]# lvs
查看vg,看看空间是否释放
[root@server ~]# vgs
3.删除逻辑卷lv01,由于在使用,所以会删除失败
[root@server ~]# lvremove  /dev/vg01/lv01
卸载u01
[root@server ~]# umount /u01
再次删除逻辑卷lv01
[root@server ~]# lvremove  /dev/vg01/lv01
4.删除物理卷
由于物理卷还在vg中使用,所以删除失败
[root@server ~]# pvremove /dev/sdb1
5.从vg中移出物理卷
[root@server ~]# vgreduce vg01 /dev/sdb1
查看
[root@server ~]# pvs
6.再次删除
[root@server ~]# pvremove /dev/sdb1
7.查看物理卷,验证是否删除成功
[root@server ~]# pvs
8.从vg中移出物理卷/dev/sdb2,由于卷组只剩下一个物理卷,卷组是不能离开物理卷的,所以不能移除
[root@server ~]# vgreduce vg01 /dev/sdb1
9.删除卷组
[root@server ~]# vgremove vg01
10.删除物理卷
[root@server ~]# pvremove /dev/sdb2
3.3 扩容卷组
1.创建物理卷
[root@server ~]# pvcreate /dev/sdb[12]
查看
[root@server ~]# pvs
2.创建卷则vg01
[root@server ~]# vgcreate vg01 /dev/sdb1
查看
[root@server ~]# vgs
​
3.查看发现卷组只有2g,扩容
扩容只需要将另外一个物理卷/dev/sdb2加入到卷组即可
[root@server ~]# vgextend vg01 /dev/sdb2
查看
[root@server ~]# vgs
3.4 逻辑卷动态扩容
需求:将1.5G的逻辑卷扩容到3G。
​
思路:
1. 查看当前逻辑卷所在的卷组vg01剩余空间是否足够
2. 如果vg01空间不够,得先扩容卷组,再扩容逻辑卷
3. 如果vg01空间足够,直接扩容逻辑卷
​
步骤:
1.创建一个1.5G大小的逻辑卷,前提有两个分区sdb1和sdb2,且这个两个分区要清空设备(逻辑卷、卷组、物理卷)。
实现删除逻辑卷、卷组、物理卷
2.创建物理卷
[root@server ~]# pvcreate /dev/sdb1
3.创建卷组
[root@server ~]# vgcreate vg01 /dev/sdb1
4.创建逻辑卷
[root@server ~]# lvcreate -n lv01 -L 1.5G vg01
5.查看
[root@server ~]# vgs
6.格式化逻辑卷
[root@server ~]# mkfs.ext4 /dev/vg01/lv01
7.查看验证
[root@server ~]# blkid /dev/vg01/lv01
8.挂载
[root@server ~]# mount /dev/vg01/lv01 /u01
查看
[root@server ~]# lsblk
9.查看逻辑卷所在的卷组剩余空间是否足够
[root@server ~]# vgs
10.不够则扩容卷组
创建物理卷
[root@server ~]# pvcreate /dev/sdb2
扩容到卷组
[root@server ~]# vgextend vg01 /dev/sdb2
11.扩容逻辑卷
[root@server ~]# lvextend  /dev/vg01/lv01  -L 3G
也可以写成
[root@server ~]# lvextend  /dev/vg01/lv01  -L +1.5G
12.验证
查看逻辑卷
[root@server ~]# lvs
查看挂载状态,发现还是1.5G,并没有扩容到3G
[root@server ~]# df -h
显示还是1.5G,原因是没有同步文件系统
/dev/mapper/vg01-lv01          1.5G  4.5M  1.4G    1% /u01
​
13.同步文件系统
[root@server ~]# resize2fs /dev/vg01/lv01
14.查看
[root@server ~]# df -h

逻辑卷进行动态伸缩

注意伸缩时候的空间大小是否允许。
===============扩容
[root@bogon ~]# lvresize -L +1.5G /dev/vg01/lv01
查看是否扩容
[root@bogon ~]# lvs
===============缩减
[root@bogon ~]# lvresize -L -1.5G /dev/vg01/lv01
查看是否扩容
[root@bogon ~]# lvs


课后扩展补充

一、 扩容swap空间

swap空间作用:交换分区,如果物理内存不够,可以置换到硬盘的swap中。由于来自于硬盘,会影响性能。

free命令

free是指查看当前系统内存的使用情况,它显示系统中剩余及已用的物理内存和交换内存,以及共享内存和被核心使用的缓冲区。
语法:
# free [选项]
选项含义:
    -b:以字节为单位显示。
    -k:以K字节为单位显示。
    -m:以兆字节为单位显示。

swapon命令

显示交换区的使用状况。
# swapon -s

增加一个硬盘或者分区来扩容swap空间

1.查看原有swap空间
[root@bogon ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1819        1030          72          52         717         509
Swap:          2047           6        2041
​
2.查看可用设备
发现sdb1、sdb2上已经创建了卷组和逻辑卷
[root@bogon ~]# lsblk 
NAME                  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                     8:0    0   20G  0 disk 
├─sda1                  8:1    0    1G  0 part /boot
└─sda2                  8:2    0   19G  0 part 
  ├─centos_bogon-root 253:0    0   17G  0 lvm  /
  └─centos_bogon-swap 253:1    0    2G  0 lvm  [SWAP]
sdb                     8:16   0   20G  0 disk 
├─sdb1                  8:17   0    2G  0 part 
│ └─vg01-lv01         253:2    0    3G  0 lvm  /u01
└─sdb2                  8:18   0    2G  0 part 
  └─vg01-lv01         253:2    0    3G  0 lvm  /u01
3.创建新的分区
通过lablk发现sdb20G,剩余还有14G可以使用,所以创建新的分区
[root@bogon ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
命令(输入 m 获取帮助):n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): 
Using default response p
分区号 (3,4,默认 3):
起始 扇区 (8390656-41943039,默认为 8390656):
将使用默认值 8390656
Last 扇区, +扇区 or +size{K,M,G} (8390656-41943039,默认为 41943039):+2G
分区 3 已设置为 Linux 类型,大小设为 2 GiB
​
命令(输入 m 获取帮助):w
The partition table has been altered!
​
Calling ioctl() to re-read partition table.
​
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
​
4.刷新分区
[root@bogon ~]# partx -a /dev/sdb
5.格式化新的分区sdb3
由于要扩容swap,所以文件系统选择swap
[root@bogon ~]# mkswap /dev/sdb3
6.查看是否格式化成功
[root@bogon ~]# blkid /dev/sdb3
/dev/sdb3: UUID="046297b9-9767-47ac-87a1-39c11544632d" TYPE="swap" 
7.激活sdb3,完成扩容
[root@bogon ~]# swapon  /dev/sdb3
8.查看交换区空间是否扩容
[root@bogon ~]# free -m
9.卸载扩容的swap空间
[root@bogon ~]# swapoff /dev/sdb3
​


二、逻辑卷实现条带化
条带化:
        把保存到逻辑卷的数据分成n等分,分别写到不同的物理卷,可以提高数据的读写效率;
        如果任何一个涉及到的物理卷出现故障,数据都会无法恢复。
​
现在的分区情况lsblk
sdb                     8:16   0   20G  0 disk 
├─sdb1                  8:17   0    2G  0 part 
│ └─vg01-lv01         253:2    0    3G  0 lvm  /u01
├─sdb2                  8:18   0    2G  0 part 
│ └─vg01-lv01         253:2    0    3G  0 lvm  /u01
└─sdb3                  8:19   0    2G  0 part 
所以只能再次创建分区。
​
1.创建扩展分区,并创建逻辑分区
将剩余所有可用空间交给扩展分区,然后分别创建逻辑分区5和6,大小为2G
[root@bogon ~]# fdisk /dev/sdb
命令(输入 m 获取帮助):n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): e
已选择分区 4
起始 扇区 (12584960-41943039,默认为 12584960):
将使用默认值 12584960
Last 扇区, +扇区 or +size{K,M,G} (12584960-41943039,默认为 41943039):
将使用默认值 41943039
分区 4 已设置为 Extended 类型,大小设为 14 GiB
​
命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5
起始 扇区 (12587008-41943039,默认为 12587008):
将使用默认值 12587008
Last 扇区, +扇区 or +size{K,M,G} (12587008-41943039,默认为 41943039):+2G
分区 5 已设置为 Linux 类型,大小设为 2 GiB
​
命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 6
起始 扇区 (16783360-41943039,默认为 16783360):
将使用默认值 16783360
Last 扇区, +扇区 or +size{K,M,G} (16783360-41943039,默认为 41943039):+2G
分区 6 已设置为 Linux 类型,大小设为 2 GiB
​
命令(输入 m 获取帮助):w
The partition table has been altered!
​
Calling ioctl() to re-read partition table.
​
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
​
2.刷新分区
[root@bogon ~]# partx -a /dev/sdb
查看
[root@bogon ~]# lsblk 
3.创建物理卷
[root@bogon ~]# pvcreate  /dev/sdb[56]
查看
[root@bogon ~]# pvs
4.创建卷组
[root@bogon ~]# vgcreate vg02 /dev/sdb[56]
5.创建逻辑卷且条带化
lvcreate -n lv02 -L 1G:创建逻辑卷lv02大小为1G
-i 2 vg02 /dev/sdb[56]就是将逻辑卷带条化成2等份,且将数据放到56设备上
[root@bogon ~]# lvcreate -n lv02 -L 1G -i 2 vg02 /dev/sdb[56]
6.查看
[root@bogon ~]# pvs /dev/sdb[56]
  PV         VG   Fmt  Attr PSize  PFree 
  /dev/sdb5  vg02 lvm2 a--  <2.00g <1.50g
  /dev/sdb6  vg02 lvm2 a--  <2.00g <1.50g
7.格式化
[root@bogon ~]# mkfs.ext4 /dev/vg02/lv02
8.创建空目录/u03
[root@bogon ~]# mkdir /u03
9.挂载
[root@bogon ~]# mount /dev/vg02/lv02 /u03
查看挂载情况
[root@bogon ~]# lsblk
10.查看条带化是否成功
[root@bogon ~]# lvs -o +stripes
三、GPT分区

大于2TB需要使用GPT进行分区,最多可以分128个主分区

gdisk工具分区

1.增加新的硬盘3T
2.使用gdisk开始分区
[root@bogon ~]# gdisk /dev/sdc
Command (? for help): n
Partition number (1-128, default 1):     =======>>直接按回车
First sector (34-6442450910, default = 2048) or {+-}size{KMGTP}:     =======>>直接按回车
Last sector (2048-6442450910, default = 6442450910) or {+-}size{KMGTP}: +50G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):     =======>>直接按回车
Changed type of partition to 'Linux filesystem'
​
Command (? for help): n
Partition number (2-128, default 2):      =======>>直接按回车
First sector (34-6442450910, default = 104859648) or {+-}size{KMGTP}:    =======>>直接按回车
Last sector (104859648-6442450910, default = 6442450910) or {+-}size{KMGTP}: +50G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):    =======>>直接按回车
Changed type of partition to 'Linux filesystem'
​
Command (? for help): w      =======>>保存
​
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
 
Do you want to proceed? (Y/N): Y     =======>>按Y
OK; writing new GUID partition table (GPT) to /dev/sdc.
The operation has completed successfully.
3.刷新设备
[root@bogon ~]# partprobe /dev/sdc
4.查看
[root@bogon ~]# lsblk
5.格式化分区
[root@bogon ~]# mkfs.ext4 /dev/sdc1
[root@bogon ~]# mkfs.ext4 /dev/sdc2
查看
[root@bogon ~]# blkid /dev/sdc1
[root@bogon ~]# blkid /dev/sdc2
6.查看分区
[root@bogon ~]# gdisk -l /dev/sdc
7.创建空目录/u02
[root@bogon ~]# mkdir /u02
8.挂载
[root@bogon ~]# mount /dev/sdc1 /u02
查看
[root@bogon /]# lsblk

RAID介绍

RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下是作为一个独立的大型存储设备出现。RAID可以充分发挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能,能够确保数据安全性,易于管理的优点,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响。

常见的RAID级别

1. RAID0

raid0.png

RAID0特点:

  • 至少需要两块磁盘

  • 数据条带化分布到磁盘,高的读写性能,100%高存储空间利用率

  • 数据没有冗余策略,一块磁盘故障,数据将无法恢复

  • 应用场景:

    • 对性能要求高但对数据安全性和可靠性要求不高的场景,比如音频、视频等的存储。

2. RAID1

raid1.png

RAID1特点:

  • 至少需要2块磁盘

  • 数据镜像备份写到磁盘上(工作盘和镜像盘),可靠性高,磁盘利用率为50%

  • 读性能可以,但写性能不佳

  • 一块磁盘故障,不会影响数据的读写

  • 应用场景:

    • 对数据安全可靠要求较高的场景,比如邮件系统、交易系统等。

3. RAID5

P1、P2、P3是校验位,保证数据的完整性,必须p1=A1+A2.当磁盘发生故障,可以通过校验位重构出原数据。RAID5只允许坏一块硬盘,坏两块就全坏了。

raid5.png

RAID5特点:

  • 至少需要3块磁盘

  • 数据条带化存储在磁盘,读写性能好,磁盘利用率为(n-1)/n

  • 以奇偶校验(分散)做数据冗余

  • 一块磁盘故障,可根据其他数据块和对应的校验数据重构损坏数据(消耗性能)

  • 是目前综合性能最佳的数据保护解决方案

  • 兼顾了存储性能、数据安全和存储成本等各方面因素(性价比高)

  • 适用于大部分的应用场景

4. RAID6

允许同时坏两块硬盘,因为有P1、Q1两个校验位。

raid6.png

RAID6特点:

  • 至少需要4块磁盘

  • 数据条带化存储在磁盘,读取性能好,容错能力强

  • 采用双重校验方式保证数据的安全性

  • 如果2块磁盘同时故障,可以通过两个校验数据来重建两个磁盘的数据

  • 成本要比其他等级高,并且更复杂

  • 一般用于对数据安全性要求非常高的场合

5. RAID10

raid10.png

RAID10特点:

  • RAID10是raid1+raid0的组合

  • 至少需要4块磁盘

  • 两块硬盘为一组先做raid1,再将做好raid1的两组做raid0

  • 兼顾数据的冗余(raid1镜像)和读写性能(raid0数据条带化)

  • 磁盘利用率为50%,成本较高

6. 总结

类型 读写性能 可靠性 磁盘利用率 成本
RAID0 最好 最低 100% 较低
RAID1 读正常;写两份数据 50%
RAID5 读:近似RAID0 写:多了校验 RAID0<RAID5<RAID1 (n-1)/n RAID0<RAID5<RAID1
RAID6 读:近似RAID0 写:多了双重校验 RAID6>RAID5 RAID6<RAID5 RAID6>RAID1
RAID10 读:RAID10=RAID0 写:RAID10=RAID1 50% 最高

软硬RAID

1. 软RAID

软RAID运行于操作系统底层,将SCSI或者IDE控制器提交上来的物理磁盘,虚拟成虚拟磁盘,再提交给管理程序来进行管理。软RAID有以下特点:

  • 占用内存空间

  • 占用CPU资源

  • 如果程序或者操作系统故障就无法运行

总结:基于以上缺陷,所以现在企业很少用软raid。


2. 硬RAID

通过用硬件来实现RAID功能的就是硬RAID,独立的RAID卡,主板集成的RAID芯片都是硬RAID。RAID卡就是用来实现RAID功能的板卡,通常是由I/O处理器、硬盘控制器、硬盘连接器和缓存等一系列零组件构成的。不同的RAID卡支持的RAID功能不同。支持RAlD0、RAID1、RAID4、RAID5、RAID10不等。

第一种是 SATA阵列卡,主要作用于大容量数据存储、网吧、数据安全等服务器领域,同时一些低端卡也满足了一些家用客户的需求,能够支持 RAID 0、1、0+1、5 、6。

SAS阵列卡.png

第二种是 SAS阵列卡 主要使用在一些高端工作站与服务器中,已经取代了昔日的SCSI接口,并且可以兼容SATA接口硬盘,能够支持 RAID 0、1、0+1、5 、50、6、60。

SATA阵列卡.png

第三种是 SCSI阵列卡 使用在高端工作站或者是服务器中,可以支持很多块SCSI接口的硬盘。能够支持RAID 0、1、0+1、3、5 。这种阵列卡性能很好速度很快 当然价格也比较高。不过,现基本上已经淘汰了。

SCSI阵列卡.png

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。