位置: IT常识 - 正文

Linux中使用mdadm命令来操作RAID的基本教程(linux中使用less命令分屏查看)

编辑:rootadmin
这篇文章主要介绍了Linux中使用mdadm命令来操作RAID的基本教程,包括mdadm命令的常用参数与对RAID的管理和查询等基础操作,需要的朋友可以参考下... 16-03-04

推荐整理分享Linux中使用mdadm命令来操作RAID的基本教程(linux中使用less命令分屏查看),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux中使用less命令分屏查看,linux中使用grep命令显示包含特殊字符的行,linux中使用buddy,linux中使用mkdir命令创建新的目录时,linux中使用buddy,linux中使用mkdir命令创建新的目录时,linux中使用什么命令可以把两个文件合并,linux中使用less命令分屏查看,内容如对您有帮助,希望把文章链接给更多的朋友!

mdadm 用于建设,管理和监控RAID阵列

用法:

mdadm --create device options... 用未使用的设备,创建raid选项,mdadm --assemble device options... 合并先前创建的raid阵列。mdadm --build device options... 创建或合并没有元数据的一个raid。mdadm --manage device options... 对现有阵列进行更改mdadm --misc options... devices 报告或修改各种MD相关设备的。mdadm --grow options device 调整以激活的raid阵列mdadm --incremental device 从一个raid中,添加/删除设备mdadm --monitor options... 监视一个或多个raid阵列的变化mdadm device options... --manage的简写

mdadm --create 主要参数

--auto=yes :决定建立后面接的软体磁盘阵列设备,亦即/ dev/md0的,/ dev/md1上... --raid-devices=N :使用几个磁盘 (partition) 作为磁盘阵列的设备 --spare-devices=N :使用几个磁盘作用磁盘阵列的备用设备 --level=[015] :设置磁盘阵列的等级,常用0,1,5

mdadm --manage 主要参数

--add :会将后面的设备加入到这个MD中! --remove :会将后面的设备由这个MD中移除 --fail :会将后面的设备设定成为出错的状态

一、在linux系统中目前以MD(Multiple Devices)虚拟块设备的方式实现软件RAID,利用多个底层的块设备虚拟出一个新的虚拟设备,并且利用条带化(stripping)技术将数据块均匀分布到多个磁盘上来提高虚拟设备的读写性能,利用不同的数据冗祭算法来保护用户数据不会因为某个块设备的故障而完全丢失,而且还能在设备被替换后将丢失的数据恢复到新的设备上.目前MD支持linear,multipath,raid0(stripping),raid1(mirror),raid4,raid5,raid6,raid10等不同的冗余级别和级成方式,当然也能支持多个RAID陈列的层叠组成raid1 0,raid5 1等类型的陈列,本文主要讲解用户层mdadm如何管理软件RAID及使用中经常遇到的问题及解决办法.现流行的系统中一般已经将MD驱动模块直接编译到内核中或编译为可动态加载的驱动模块,我们可以在机器启动后通过cat /proc/mdstat看内核是否已经加载MD驱动或者cat /proc/devices是否有md块设备,并且可以使用lsmod看MD是否可以模块加载到系统中.

代码如下:[root@testggv ~]# cat /proc/mdstatPersonalities :unused devices:[root@testggv ~]#[root@testggv ~]# cat /proc/devices | grep md1 ramdisk9 md254 mdp[root@testggv ~]#mdadm --version[root@testggv ~]# mdadm --versionmdadm-v2.5.4-13 October 2006[root@testggv ~]#

二、mdadm管理软raid陈列mdadm程序是一个独立的程序,能完成所有的软件raid管理功能,主要有7种使用模式:Create使用空闲的设备创建一个新的阵列,每个设备具有元数据块Assemble将原来属于一个阵列的每个块设备组装为阵列Build创建或组装不需要元数据的阵列,每个设备没有元数据块Manage管理已经存储阵列中的设备,比如增加热备磁盘或者设置某个磁盘失效,然后从阵列中删除这个磁盘Misc报告或者修改阵列中相关设备的信息,比如查询阵列或者设备的状态信息Grow改变阵列中每个设备被使用的容量或阵列中的设备的数目Monitor监控一个或多个阵列,上报指定的事件如果MD驱动被编译到内核中,当内核调用执行MD驱动时,会自动查找分区为FD(linux raid autodetect格式的磁盘。所以一般会使用fdisk工具将HD磁盘或者SD磁盘分区,再设置为FD的磁盘。

代码如下:[root@testggv ~]# fdisk /dev/hdcThe number of cylinders for this disk is set to 25232.There is nothing wrong with that, but this is larger than 1024,and could in certain setups cause problems with:1) software that runs at boot time (e.g., old versions of LILO)2) booting and partitioning software from other OSs(e.g., DOS FDISK, OS/2 FDISK)Command (m for help): nCommand actione extendedp primary partition (1-4)pPartition number (1-4): 1First cylinder (1-25232, default 1):Using default value 1Last cylinder or size or sizeM or sizeK (1-25232, default 25232):Using default value 25232Command (m for help): tSelected partition 1Hex code (type L to list codes): fdChanged system type of partition 1 to fd (Linux raid autodetect)Command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: Device orbusy.The kernel still uses the old table.The new table will be used at the next reboot.Syncing disks.[root@testggv ~]#

如果MD驱动是模块形式加载,需要在系统运行时由用户层脚本控制RAID陈列启动运行,如在FedoraCore系统中在/etc/rc.d/rc.sysinit文件中有启动软RAID阵列的指令,若RAID的配置文件mdadm.conf存在,则调用mdadm检查配置文件里的选项,然后启动RAID阵列。

代码如下:echo "raidautorun /dev/md0" | nash --quietif [ -f /etc/mdadm.conf]; then/sbin/mdadm -A -s

fi -A:指装载一个已存在的陈列 -s: 指查找mdadm.conf文件中的配置信息。手工停止盘陈:

代码如下:#mdadm -S /dev/md0

创建新的陈列mdadm使用--create(或其缩写-C)参数来创建新的陈列并且将一些重要阵列的标识信息作为元数据可以写在每一个底层设备的指定区间--level(或者其缩写-l)表示阵列的RAID级别--chunk(或者其缩写-c)表示每个条带单元的大小,以KB为单位,默认为64KB,条带单元的大小配置对不同负载下的阵列读写性能有很大影响--raid-devices(或者其缩写-n)表示阵列中活跃的设备个数--spare-devices(或者其缩写-x)表示阵列中热备盘的个数,一旦阵列中的某个磁盘失效,MD内核驱动程序自动用将热备磁盘加入到阵列,然后重构丢失磁盘上的数据到热备磁盘上。

创建一个RAID 0设备:

代码如下:mdadm --create /dev/md0 --level=0 --chunk=32 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

创建一个raid 1设备:

代码如下:mdadm --create /dev/md0 --level=1 --chunk=128 --raid-devices=2 --spare-devices=1 /dev/sdb1 /dev/sdc1 /dev/sdd1Linux中使用mdadm命令来操作RAID的基本教程(linux中使用less命令分屏查看)

创建一个RAID5设备:

代码如下:mdadm --create /dev/md0 --level=5 --raid-devices=5 /dev/sd[c-g]1 --spare-devices=1 /dev/sdb1

创建一个RAID 10设备:

代码如下:mdadm -C /dev/md0 -l10 -n6 /dev/sd[b-g] -x1 /dev/sdh

创建一个RAID1 0设备:

代码如下:mdadm -C /dev/md0 -l1 -n2 /dev/sdb /dev/sdcmdadm -C /dev/md1 -l1 -n2 /dev/sdd /dev/sdemdadm -C /dev/md2 -l1 -n2 /dev/sdf /dev/sdgmdadm -C /dev/md3 -l0 -n3 /dev/md0 /dev/md1 /dev/md2

初始化的时间长短和磁盘阵列自身性能以及读写的应用负载相关,使用cat /proc/mdstat信息查询RAID阵列当前重构的速度和预期的完成时间。

代码如下:cat /proc/mdstat[root@fc5 mdadm-2.6.3]# cat /proc/mdstatPersonalities : [raid10]md0 : active raid10 sdh[6](S) sdg[5] sdf[4] sde[3] sdd[2] sdc[1] sdb[0]3145536 blocks 64K chunks 2 near-copies [6/6] [UUUUUU][===>...........] resync = 15.3% (483072/3145536) finish=0.3min speed=120768K/secunused devices:[root@fc5 mdadm-2.6.3]# cat /proc/mdstatPersonalities : [raid10]md0 : active raid10 sdh[6](S) sdg[5] sdf[4] sde[3] sdd[2] sdc[1] sdb[0]3145536 blocks 64K chunks 2 near-copies [6/6] [UUUUUU]unused devices:

使用陈列:MD设备可以像普通块设备那样直接读写,也可以做文件系统格式化。

代码如下:#mke2fs -j /dev/md0mkdir -p /mnt/md-test#mount /dev/md0 /mnt/md-test

停止正在运行的陈列:当阵列没有文件系统或者其他存储应用以及高级设备使用的话,可以使用--stop(或者其缩写-S)停止阵列;如果命令返回设备或者资源忙类型的错误,说明/dev/md0正在被上层应用使用,暂时不能停止,必须要首先停止上层的应用,这样也能保证阵列上数据的一致性。

代码如下:[root@fc5 mdadm-2.6.3]# ./mdadm --stop /dev/md0mdadm: fail to stop array /dev/md0: Device or resource busy[root@fc5 mdadm-2.6.3]# umount /dev/md0[root@fc5 mdadm-2.6.3]#./mdadm --stop /dev/md0

mdadm: stopped /dev/md02.3 组装曾创建过的阵列模式--assemble或者其缩写(-A)主要是检查底层设备的元数据信息,然后再组装为活跃的阵列。如果我们已经知道阵列由那些设备组成,可以指定使用那些设备来启动阵列。

代码如下:[root@fc5 mdadm-2.6.3]# ./mdadm -A /dev/md0 /dev/sd[b-h]

mdadm: /dev/md0 has been started with 6 drives and 1 spare.如果有配置文件(/etc/mdadm.conf)可使用命令mdadm -As /dev/md0。mdadm先检查mdadm.conf中的DEVICE信息,然后从每个设备上读取元数据信息,并检查是否和ARRAY信息一致,如果信息一致则启动阵列。如果没有配置/etc/mdadm.conf文件,而且又不知道阵列由那些磁盘组成,则可以使用命令--examine(或者其缩写-E)来检测当前的块设备上是否有阵列的元数据信息。[root@fc5 mdadm-2.6.3]# ./mdadm -E /dev/sdi

代码如下:mdadm: No md superblock detected on /dev/sdi.[root@fc5 mdadm-2.6.3]# ./mdadm -E /dev/sdb/dev/sdb:Magic : a92b4efcVersion : 00.90.00UUID : 0cabc5e5:842d4baa:e3f6261b:a17a477aCreation Time : Sun Aug 22 17:49:53 1999Raid Level : raid10Used Dev Size : 1048512 (1024.11 MiB 1073.68 MB)Array Size : 3145536 (3.00 GiB 3.22 GB)Raid Devices : 6Total Devices : 7Preferred Minor : 0Update Time : Sun Aug 22 18:05:56 1999State : cleanActive Devices : 6Working Devices : 7Failed Devices : 0Spare Devices : 1Checksum : 2f056516-correctEvents : 0.4Layout : near=2, far=1Chunk Size : 64KNumber Major Minor RaidDevice Statethis 0 8 16 0 active sync /dev/sdb0 0 8 16 0 active sync /dev/sdb1 1 8 32 1 active sync /dev/sdc2 2 8 48 2 active sync /dev/sdd3 3 8 64 3 active sync /dev/sde4 4 8 80 4 active sync /dev/sdf5 5 8 96 5 active sync /dev/sdg6 6 8 112 6 spare /dev/sdh

从上面命令结果可以找到阵列的唯一标识UUID和阵列包含的设备名字,然后再使用上面的命令来组装阵列,也可以使用UUID标识来组装阵列。没有一致的元数据的信息设备(例如/dev/sda和/dev/sda1等)mdadm程序会自动跳过。

代码如下:[root@fc5 mdadm-2.6.3]# ./mdadm -Av --uuid=0cabc5e5:842d4baa:e3f6261b:a17a477a/dev/md0 /dev/sd*mdadm: looking for devices for /dev/md0mdadm: no recogniseable superblock on /dev/sdamdadm: /dev/sda has wrong uuid.mdadm: no recogniseable superblock on /dev/sda1mdadm: /dev/sda1 has wrong uuid.mdadm: no RAID superblock on /dev/sdimdadm: /dev/sdi has wrong uuid.mdadm: /dev/sdi1 has wrong uuid.mdadm: no RAID superblock on /dev/sdjmdadm: /dev/sdj has wrong uuid.mdadm: /dev/sdj1 has wrong uuid.mdadm: no RAID superblock on /dev/sdkmdadm: /dev/sdk has wrong uuid.mdadm: /dev/sdk1 has wrong uuid.mdadm: /dev/sdb is identified as a member of /dev/md0, slot 0.mdadm: /dev/sdc is identified as a member of /dev/md0, slot 1.mdadm: /dev/sdd is identified as a member of /dev/md0, slot 2.mdadm: /dev/sde is identified as a member of /dev/md0, slot 3.mdadm: /dev/sdf is identified as a member of /dev/md0, slot 4.mdadm: /dev/sdg is identified as a member of /dev/md0, slot 5.mdadm: /dev/sdh is identified as a member of /dev/md0, slot 6.mdadm: added /dev/sdc to /dev/md0 as 1mdadm: added /dev/sdd to /dev/md0 as 2mdadm: added /dev/sde to /dev/md0 as 3mdadm: added /dev/sdf to /dev/md0 as 4mdadm: added /dev/sdg to /dev/md0 as 5mdadm: added /dev/sdh to /dev/md0 as 6mdadm: added /dev/sdb to /dev/md0 as 0mdadm: /dev/md0 has been started with 6 drives and 1 spare.

配置文件:/etc/mdadm.conf作为默认的配置文件,主要作用是方便跟踪软RAID的配置,尤其是可以配置监视和事件上报选项。Assemble命令也可以使用--config(或者其缩写-c)来指定配置文件。我们通常可以如下命令来建#立配置文件

代码如下:#echo DEVICE /dev/sdc1 /dev/sdb1 /dev/sdd1 > /etc/mdadm.conf#mdadm --detail --scan >> /etc/mdadm.conf

使用配置文件启动阵列时,mdadm会查询配置文件中的设备和阵列内容,然后启动运行所有能运行RAID阵列。如果指定阵列的设备名字,则只启动对应的阵列。

代码如下:[root@fc5 mdadm-2.6.3]# ./mdadm -Asmdadm: /dev/md1 has been started with 3 drives.mdadm: /dev/md0 has been started with 6 drives and 1 spare.[root@fc5 mdadm-2.6.3]# cat /proc/mdstatPersonalities : [raid0] [raid10]md0 : active raid10 sdb[0] sdh[6](S) sdg[5] sdf[4] sde[3] sdd[2] sdc[1]3145536 blocks 64K chunks 2 near-copies [6/6] [UUUUUU]md1 : active raid0 sdi1[0] sdk1[2] sdj1[1]7337664 blocks 32k chunksunused devices:[root@fc5 mdadm-2.6.3]# ./mdadm -S /dev/md0 /dev/md1mdadm: stopped /dev/md0mdadm: stopped /dev/md1[root@fc5 mdadm-2.6.3]# ./mdadm -As /dev/md0mdadm: /dev/md0 has been started with 6 drives and 1 spare.[root@fc5 mdadm-2.6.3]# cat /proc/mdstatPersonalities : [raid0] [raid10]md0 : active raid10 sdb[0] sdh[6](S) sdg[5] sdf[4] sde[3] sdd[2] sdc[1]3145536 blocks 64K chunks 2 near-copies [6/6] [UUUUUU]unused devices:

查询阵列的状态我们可以通过cat /proc/mdstat信息查看所有运行的RAID阵列的状态,在第一行中首先是MD的设备名,active和inactive选项表示阵列是否能读写,接着是阵列的RAID级别,后面是属于阵列的块设备,方括号[]里的数字表示设备在阵列中的序号,(S)表示其是热备盘,(F)表示这个磁盘是faulty状态。在第二行中首先是阵列的大小,单位是KB,接着是chunk-size的大小,然后是layout类型,不同RAID级别的layout类型不同,[6/6]和[UUUUUU]表示阵列有6个磁盘并且6个磁盘都是正常运行的,而[5/6]和[_UUUUU] 表示阵列有6个磁盘中5个都是正常运行的,下划线对应的那个位置的磁盘是faulty状态的。

代码如下:[root@fc5 mdadm-2.6.3]# cat /proc/mdstatPersonalities : [raid6] [raid5] [raid4] [raid1]md0 : active raid5 sdh[6](S) sdg[5] sdf[4] sde[3] sdd[2] sdc[1] sdb[0]5242560 blocks level 5, 64k chunk, algorithm 2 [6/6] [UUUUUU]unused devices:[root@fc5 mdadm-2.6.3]# ./mdadm /dev/md0 -f /dev/sdh /dev/sdbmdadm: set /dev/sdh faulty in /dev/md0mdadm: set /dev/sdb faulty in /dev/md0[root@fc5 mdadm-2.6.3]# cat /proc/mdstatPersonalities : [raid6] [raid5] [raid4] [raid1]md0 : active raid5 sdh[6](F) sdg[5] sdf[4] sde[3] sdd[2] sdc[1] sdb[7](F)5242560 blocks level 5, 64k chunk, algorithm 2 [6/5] [_UUUUU]unused devices:

我们也可以通过mdadm命令查看指定阵列的简要信息(使用--query或者其缩写-Q)和详细信息(使用--detail或者其缩写-D) 详细信息包括RAID的版本、创建的时间、RAID级别、阵列容量、可用空间、设备数量、超级块状态、更新时间、UUID信息、各个设备的状态、RAID算法级别类型和布局方式以及块大小等信息。设备状态信息分为active, sync, spare, faulty, rebuilding, removing等等。

代码如下:root@fc5 mdadm-2.6.3]# ./mdadm --query /dev/md0/dev/md0: 2.100GiB raid10 6 devices, 1 spare. Use mdadm --detail for more detail.[root@fc5 mdadm-2.6.3]# ./mdadm --detail /dev/md0/dev/md0:Version : 00.90.03Creation Time : Sun Aug 22 17:49:53 1999Raid Level : raid10Array Size : 3145536 (3.00 GiB 3.22 GB)Used Dev Size : 1048512 (1024.11 MiB 1073.68 MB)Raid Devices : 6Total Devices : 7Preferred Minor : 0Persistence : Superblock is persistentUpdate Time : Sun Aug 22 21:55:02 1999State : cleanActive Devices : 6Working Devices : 7Failed Devices : 0Spare Devices : 1Layout : near=2, far=1Chunk Size : 64KUUID : 0cabc5e5:842d4baa:e3f6261b:a17a477aEvents : 0.122Number Major Minor RaidDevice State0 8 16 0 active sync /dev/sdb1 8 32 1 active sync /dev/sdc2 8 48 2 active sync /dev/sdd3 8 64 3 active sync /dev/sde4 8 80 4 active sync /dev/sdf5 8 96 5 active sync /dev/sdg6 8 112-spare /dev/sdh

管理阵列mdadm可以在Manage模式下,对运行中的阵列进行添加及删除磁盘。常用于标识failed磁盘,增加spare(热备)磁盘,以及从阵列中移走已经失效的磁盘等等。使用--fail(或者其缩写-f)指定磁盘损坏。

代码如下:[root@fc5 mdadm-2.6.3]# ./mdadm /dev/md0 --fail /dev/sdbmdadm: set /dev/sdb faulty in /dev/md0

当磁盘已经损坏时,使用--remove(或者其缩写--f)参数将这个磁盘从磁盘阵列中移走;但如果设备还正在被阵列使用,则不能从阵列中移走。

代码如下:[root@fc5 mdadm-2.6.3]# ./mdadm /dev/md0 --remove /dev/sdbmdadm: hot removed /dev/sdb[root@fc5 mdadm-2.6.3]# ./mdadm /dev/md0 --remove /dev/sdemdadm: hot remove failed for /dev/sde: Device or resource busy

如果阵列带有spare磁盘,那么自动将损坏磁盘上的数据重构到新的spare磁盘上;

代码如下:[root@fc5 mdadm-2.6.3]# ./mdadm -f /dev/md0 /dev/sdb ; cat /proc/mdstatmdadm: set /dev/sdb faulty in /dev/md0Personalities : [raid0] [raid10]md0 : active raid10 sdh[6] sdb[7](F) sdc[0] sdg[5] sdf[4] sde[3] sdd[2]3145536 blocks 64K chunks 2 near-copies [6/5] [U_UUUU][=======>........] recovery = 35.6% (373888/1048512) finish=0.1min speed=93472K/secunused devices:

如果阵列没有热备磁盘,可以使用--add(或者其缩写-a)参数增加热备磁盘

代码如下:[root@fc5 mdadm-2.6.3]# ./mdadm /dev/md0 --add /dev/sdhmdadm: added /dev/sdh

监控阵列可以使用mdadm对RAID阵列进行监控,监控程序定时查询指定的事件是否发生,然后根据配置来妥善处理。例如当阵列中的磁盘设备出现问题的时候,可以发送邮件给管理员;或者当磁盘出现问题的时候由回调程序来进行自动的磁盘替换,所有监控事件都可以记录到系统日志中。目前mdadm支持的事件有RebuildStarted, RebuildNN(NN is 20, 40, 60, or 80), RebuildFinished, Fail,FailSpare,SpareActive,NewArray, DegradedArray, MoveSpare, SparesMissing, TestMessage。如果配置每300秒mdadm监控进程查询MD设备一次,当阵列出现错误,会发送邮件给指定的用户,执行事件处理的程序并且记录上报的事件到系统的日志文件。使用--daemonise参数(或者其缩写-f)使程序持续在后台运行。如果要发送邮件需要sendmail程序运行,当邮件地址被配置为外网地址应先测试是否能发送出去。

代码如下:[root@fc5 mdadm-2.6.3]#./mdadm --monitor --mail=root@localhost --program=/root/md.sh--syslog --delay=300 /dev/md0 --daemonise
本文链接地址:https://www.jiuchutong.com/zhishi/275460.html 转载请保留说明!

上一篇:win10管理日志怎么导出(win10系统日志在哪个文件夹)

下一篇:桌面右键个性化无法打开设置怎么办(桌面右键个性化没有关联的程序)

  • 陈列费可以开专票吗
  • 初级农产品免税原理
  • 以前年度出口退税申报
  • 工资怎么扣费
  • 企业年报修改后,第三方平台多久同步
  • 进项多少就开多少的票吗
  • 减免城建税税款会计分录
  • 营业外收入怎么结转到本年利润
  • 叉车维修费计什么费用
  • 专票当成普票入账怎么调整
  • 煤炭企业生产成本包括
  • 企业合并相关舞弊风险有哪些
  • 政策性用房包括哪些
  • 现金支票存根如何填写
  • 委外研发费用如何开票
  • 开给天猫的服务费分录如何做
  • 委托生产企业和受托生产企业
  • 没取得发票付款的情况该如何做账呢?
  • 企业出口退税办理流程
  • 电梯增值税率是多少
  • 运费抵扣增值税是什么意思
  • 增值税专用发票跨月退回怎么办?
  • 客户方流水号是什么
  • 定额发票使用年限规定
  • 企业以前年度的亏损在哪查
  • 机票保险可以报销入账吗
  • 资本增值是什么
  • 工程建设劳务费怎么算
  • 取得海运费发票怎么入账
  • 回迁房所得税处理
  • 其他应收款注销时处理
  • 个体户怎么核定开多少票
  • 房屋维修基金怎么申请使用
  • 关闭guest账户
  • 承兑兑现违法吗
  • 净资产增加数怎么计算
  • 免税收入要减去吗
  • 工程施工预付账款会计分录
  • 补充医疗保险是六险吗
  • yolov3 改进
  • 防止盗链的php代码
  • 小程序怎么自定义tabbar
  • yii框架教程
  • uniapp实战
  • 资产负债表利润表和现金流量表
  • thinkphp5框架介绍
  • 委托研发技术合同登记
  • 员工预支款计入什么科目
  • 个人转让上市公司原始股
  • python unittest和pytest
  • 研发费用凭证是什么样
  • 小规模购进原材料可以抵扣税金吗
  • 应交税费会计分录完整版
  • 多用途卡的监管机构是
  • 预付房租计入长期待摊费用吗
  • 酒店购买天然气开票的摘要写什么
  • 经济作物评估标准
  • 公司给非本单位的个人转账有风险怎么平账
  • 小规模企业收到专票怎么做账
  • 净资产利润率的公式是什么
  • 跨年度的银行未入账如何处理
  • 事业单位其他特殊人员医疗保障是什么意思
  • 新成立的企业可以申请一般纳税人吗
  • 员工社保,个税怎么计算
  • 如何编写wa
  • mysql orch
  • vidaa 破解
  • 对Windows Server 2008系统自带的磁盘分区进行无损分区的教程图文介绍
  • 设置动态壁纸来电铃声
  • 让你的好朋友评价你图片
  • [下载转存] 经验本题库源文件下载转存 秒结
  • centos安装yun
  • lnmgr.exe是什么
  • 如何查看win7系统
  • ExtJs3.0中Store添加 baseParams 的Bug
  • pycharm下载安装
  • python关键字none
  • 国家税务总局山西省电子税务局
  • 怎样看业务序号
  • 税务投诉回访电话号码
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设